저는 파이썬과 GhostScript를 사용하여 프로젝트를 진행하고 있습니다. 현재 저는 수 백 페이지의 PDF 파일을 가지고 있는데,이 PDF를 가져 와서 TIF 파일로 페이지를 분리해야합니다. 코드를 작성하고 올바르게 실행해야합니다. 그러나이 프로그램은 완료하는 데 약간의 시간이 걸릴 수 있습니다. 프로세스에서 얼마나 멀리 있는지 사용자에게 출력합니다.GhostScript 백분율 완료
gs_appdir = 'C:\\Program Files\\gs\\gs9.10\\bin\\'
os.chdir(gs_appdir)
args = "-o \""+wkgdir+"Images\\Image_%03d.tif\" -sDEVICE=tiffg4 -q -NODISPLAY -r200x200 -s \""+inPDFFile+"\""
os.system("gswin64c.exe %s" % args)
내가 인수 밖으로 -q 매개 변수를 사용하는 경우는, 그러나 그것은 라인으로 라인으로 라인을 이동합니다, 저를 표시합니다 :
페이지 XXXX의 1
페이지 2 XXXX
페이지 xxxx 3 of 3 xxxx
... 등
나는이 비슷한 일을하고 싶습니다 : 그것은 그러나 내가이 사용 고스트 스크립트를 수행하는 방법을 아주 확실하지 않다, 같은 줄에 비율을 인쇄합니다
print "\r[ Preparing Images ] %s%%" % ((img+1)*100/imgcount),
. 모든 조언은 크게 appriciated 것입니다.
그건 내가 두려워했던 것입니다. 제 사용자는 1-2 분 기다리기 만 받아 들여야한다고 생각합니다 (아마 그들에게 사전 메시지를 보낼 것입니다). \ r까지, 당신이 옳다면, 모든 것이 받아 들일 수는 없지만,이 특별한 설정의 경우에는 효과가 있습니다. – user3232819
@ user3232819 : 접근 방식을 변경하면됩니다. 프로세스가 실행되는 동안 프로세스 출력을 얻을 수 있으며 프로세스가 완료 될 때까지 기다릴 필요가 없습니다. 이것 좀보세요 : http://stackoverflow.com/questions/16557908/getting-output-of-a-process-at-runtime // Ghostscript를 제안 된 방식으로 호출하면 라인 단위로 얻을 수 있습니다 페이지가 처리되는 동안 Ghostscript의 출력. 나는 .NET에서 비슷한 일을했다. 한 줄씩 출력 할 때 각 줄을 구문 분석하여 '현재 페이지'를 '전체 페이지'와 함께 내보내고 진행 값을 계산합니다. – HABJAN