0
ll_printed = dw_1.print(FALSE) 

IF ll_printed = 1 AND FileLength64(gs_TmpFile) > 100000 THEN 

ls_run =gs_GhostScript_Path + "gswin32c -q -sDEVICE=pdfwrite 
-sOutputFile=" + gs_TmpFile + ".pdf " + " -dBATCH -dNOPAGEPROMPT -dNOPROMPT-dQUIET -dNOPAUSE" +' ' + gs_TmpFile 

END IF 

나는 파일 길이를 확인하는이 스크립트를 가지고 있는데, 항상 11kb의 PS를 생성합니다. 만약 내가 계속해서 PDF를 만들면. 빈 PDF가 생성됩니다. 때로는 정확한 정보가 실제로는 공백으로 인쇄됩니다.dw_1.print (false) 생성 된 PDF는 항상 공백입니다.

답변

0

글쎄, gs_TmpFile의 크기를 테스트하여 100,000 바이트가 넘는 지 확인하는 것 같지만, 당신은 항상 11Kb (11264 바이트)의 포스트 스크립트 프로그램을 생성한다고해서 어떻게 관리했는지는 알 수 없다. 이 경우 Ghostscript를 호출하십시오.

임시 파일이 아직 완전하지 않다고 생각하거나 그렇지 않은 것으로 생각됩니다.

물론, 메시지를 표시하지 않고 -dQUIET을 설정 했으므로 Ghostscript 스크립트를 제공 (또는 캡처)하지 않아도됩니다. 가장 가능성있는 단서가 있는데 그 단서를 제시하지 않았기 때문에 아무에게도 알려줄 수 없습니다.

이 디버깅을 상당히 많이 수행해야합니다. Ghostscript를 호출 할 때 (새 파일에 복사) 포스트 스크립트 프로그램을 캡처하고 Ghostscript 출력을 캡처해야합니다. 그런 다음 오류 조건이 발생할 때까지 작성된 PDF 파일을 검사하십시오.

오류 상태가 발생하면 Ghostscript로 전송 된 PostScript 프로그램을 작동중인 버전과 비교할 수있는 위치에있게되며 Ghostscript가 알고 있어야하는 정보를 갖게되므로 디버그에 도움이 될 수 있습니다 문제.

더 많은 도움을 제공 할만한 정보가 충분하지 않습니다.

+0

실제로'dw_1.print (FALSE)'파일이 이미 생성되었으므로 11KB이므로 빈 칸으로 변환하지 않습니다. 이제 dw_1.print (FALSE)가 값이 있음에도 불구하고 11kb 파일이 어떻게 생성되는지 궁금해합니다. – sccydd

+0

포스트 스크립트는 프로그래밍 언어입니다. 많은 포스트 스크립트 인쇄 시스템은 고소하려는 모든 절차를 정의함으로써 시작됩니다. 또한 많은 인쇄 시스템이 메타 데이터에 대한 여러 주석을 포함하고 특정 방식으로 구조화 된 DSC (Document Structure Convention) 규격 파일을 작성합니다. 11Kb는 컴퓨터에서 생성 된 PostScript 프로그램에 비해 그리 많지 않습니다. 귀하의 질문에 나는 당신이 파일 크기가 항상 11Kb 였다고 말하고 싶습니다. 그게 아니라면, 당신은 그것이 완료되기 전에 그것을 처리하기 시작하고 있다고 의심하고, GS는 오류를 던졌습니다 – KenS

+0

다음 단계를 처리하기 전에 120 초 대기 시간을 할당했습니다. 이 데이터 윈도우가 가지고있는 것은 데이터 윈도우를 인쇄하기 전에 120 초 동안 특정 URL로 이동하는 OLE 객체 마이크로 소프트 웹 브라우저 컨트롤입니다. – sccydd