2012-01-16 2 views
3

최종 사용자가 제공 한 문서 (많은 지원되는 유형)를 팩스로 보내는 응용 프로그램을 작성하고 있습니다. 최종 사용자는 사용자 정의 팩스 머리글의 일부로 사용할 텍스트를 제공 할 수도 있습니다.Ghostscript를 사용하여 PDF 또는 TIFF에 텍스트 (팩스) 헤더를 오버레이 할 수 있습니까?

PDF를 TIFF로 렌더링하기 위해 Ghostscript를 사용 해왔고 지금까지 훌륭하게 작동했지만 PDF 상단에 맞춤 헤더를 오버레이하는 간단한 방법을 아직 찾지 못했습니다. 나는 몇 가지 권장 사항을 시도했다 :

를 ... 행운과 함께.

저는 ImageMagick을 사용하여 다른 도구를 통해 TIFF로 렌더링 된 문서를 성공적으로 처리했으며 ImageMagick이 PDF-TIFF를 자체적으로 렌더링 할 수 있다는 것을 알고 있습니다. 그러나 저는 Ghostscript를 계속 사용하고 싶습니다. 제 경험상 더 나은 성능을 발휘하고 더 선명한 TIFF를 구현했기 때문입니다.

Ghostscript 및 PS 헬퍼 스크립트를 사용하면 가능합니까?

편집 :

고스트 스크립트 (v9.04) 오류를 던지고되지 않습니다. 예 :

gswin64c -dSAFER -dBATCH -dNOPAUSE -dPDFFitPage -sDEVICE=tiffg3^
    -sOutputFile=goofy.tif^
    -c "/Courier findfont 12 scalefont setfont 50 765 moveto (header text) show"^
    -f goofy.pdf 

... 원본 PDF의 TIFF를 생성하지만 텍스트를 추가하지 않았습니다. 포스트 스크립트 one-liner에 showpage을 붙이면 헤더 페이지가 아닌 새로운 빈 페이지가 인쇄되어 예상보다 훨씬 도움이됩니다.

+0

[이 답변] (http://stackoverflow.com/a/3699354/733077)을 보았습니까? –

+0

예, 실제로 제가 위에 링크 시켰습니다. 불운. 나는 TIFF 이전의 중간 단계로 PS를 PS로 변환하고 PS에 그 대답을 적용하기까지했다. 나다. – lightthievesall

+0

행운이 필요하다면 손가락을 건 드리십시오. 기술적 인 문제가 있다면 정확히 무엇이 잘못되었는지 알려주십시오. –

답변

3

나는이 작업을 위해 고스트 스크립트와 함께 다른 명령 행 도구를 사용하는 것이에게 제공 할 수 없다는 죄송합니다. 이 도구는 pdftk.exe입니다.

  1. 은 고스트 스크립트의 작업은 헤더 텍스트와 함께 (그렇지 않으면 빈) 페이지를 작성하는 것입니다 : : 그런 다음 3 단계 방법을 사용 (오버레이 스탬프
     
    gswin64c.exe^
        -o header.pdf^
        -sDEVICE=pdfwrite^
        -c "/Courier findfont 12 scalefont setfont"^
        -c "50 765 moveto (header text) show showpage" 
    
  2. pdftk의 작업이 될 것이다 또는 배경) 원래의 PDF를 통해 텍스트 헤더와 PDF 파일 :
     
    gswin64c.exe^
        -dPDFFitPage^
        -o goofy-with-header.tif^
        -sDEVICE=tiffg3^
        goofy-with-header.pdf
:
 
pdftk.exe goofy.pdf background header.pdf output goofy-with-header.pdf
또는
 
pdftk.exe goofy.pdf stamp header.pdf output goofy-with-header.pdf
  • 마지막 단계는 최종 TIFF 출력을 생성하기 위해 다시 고스트 스크립트를 사용하는 것이다
  • 0

    내가 도핑하는 방식은 PDF 파일 자체에 PDF에 필요한 것을 추가하는 것입니다. 변환하기 전에 PDF 파일 형식은 파일 끝에 추가 정보를 추가 할 수 있도록 설계되었습니다 (심지어 정보 이전 페이지로 이동).

    유감스럽게도, 나는 그것에 대해 전혀 신경 쓰지 않아서 - 당신이해야 할 일을 정확하게 알 수 없습니다. 프로그래밍 언어로 된이 PDF 편집 라이브러리가 있습니다.이 작업을 쉽게 할 수 있습니다. PDF 파일을 직접 작성하십시오. (기존 문서의 구조 안에서 작업해야하므로 일부 입력 형식에서 PDF를 렌더링하는 Tradiditional 라이브러리는 사용하지 않습니다.)하지만 PDF 사양에서이 Approach에 대한 정보를 얻을 수 있는지 살펴보고, 가치가있다 : http://www.adobe.com/devnet/pdf/pdf_reference_archive.html

    또 다른 접근법은 파일의 "상대방"에 대한 작업이다. 이미지 조작 라이브러리를 사용하여 렌더링 된 TIFF 파일의 레이아웃 텍스트. 정보를 추가 할 수 있도록 예약 된 페이지에 고정 된 공간이있는 경우에만 가능합니다.

    완벽한 솔루션

    +0

    PDF 조작을 위해 상용 라이브러리를 사용하고 있었지만 종종 이미지를 잘못 렌더링하여 Ghostscript로 바꾸려고했습니다. Ghostscript로이 작업을 끝낼 수 없다면 렌더링 된 TIFF의 헤더를 ImageMagick으로 찍을 것입니다. – lightthievesall

    +0

    내가 말했듯이 - 모든 고스트 스크립트는 코드에 직접 추가 할 추가 PDF (또는 추록) 코드를 렌더링하는 것이 가능합니다. BTW - docuemnts는 단일 페이지가 길거나 여러 페이지입니까? – jsbueno

    0

    정확히 동일한 결과를 얻으려는 동일한 접근 방식을 시도했습니다. 그런 다음 내 명령 줄 인수에서 -dSAFER을 제거했으며 매력처럼 작동합니다.