2011-01-11 6 views
2

기본적으로 포스트 스크립트를 수정하여 PDF에 하이퍼 링크를 추가하려고합니다. 여기 포스트 스크립트로 PDF 하이퍼 링크 만들기

어도비 포스트 스크립트를 통해 링크를 생성하기 위해 제공되는 코드입니다 :

[/Rect [ 0 425 295 445 ] /Action << /Subtype /URI /URI (http://www.adobe.com/) >> /Border [ 0 0 2 ] /Color [ .7 0 0 ] /Subtype /Link ANN pdfmark

을 그리고 여기 수정하기 위해 노력하고있어 코드의 예 :

%PDF-1.4 
%âãÏÓ 
6 0 obj 
>stream 
    1 w 
    [] 0 d 
    0.0 g 
    36 775 m 
    576 775 l 
    s 
endstream 
endobj 
7 0 obj 
>stream 
    BT 
    36 777 Td 
    0 Tr 
    /F1 16 Tf 
    0.0 g 
    (Test PDF) Tj 
    ET 
endstream 
endobj 
1 0 obj 
>/ProcSet[/PDF]>>/Parent 8 0 R/MediaBox[0 0 612 792]/Contents[6 0 R 7 0 R]/Type/Page>> 
endobj 

9 0 obj 
>/ProcSet[/PDF]>>/Parent 8 0 R/MediaBox[0 0 612 792]/Contents[10 0 R 11 0 R]/Type/Page>> 
endobj 
8 0 obj 
> 
endobj 
12 0 obj 
> 
endobj 
13 0 obj 
> 
endobj 
xref 
0 14 
0000000000 65535 f 
0000017066 00000 n 
0000000015 00000 n 
0000000116 00000 n 
0000000212 00000 n 
0000000319 00000 n 
0000000422 00000 n 
0000003831 00000 n 
0000025138 00000 n 
0000024976 00000 n 
0000017226 00000 n 
0000021450 00000 n 
0000025207 00000 n 
0000025253 00000 n 
trailer 
]>> 
startxref 
25381 
%%EOF
+1

여기서 수정하려는 것은 ** NOT ** PostScript 코드입니다. 그것은 PDF입니다. (예, 결과 PDF에 하이퍼 링크를 포함하기 위해 포스트 스크립트에 코드를 추가 할 수 있습니다. 여기에 키워드는 * pdfmark * ...입니다) –

답변

1

그 열 자리 끝에있는 숫자는 각 객체의 파일 내에서 바이트 위치의 인덱스입니다. 최소한 PDF의 내용을 변경하는 경우 해당 색인을 수정해야합니다.

Abdobe에서 다운로드 할 수있는 PDF 문서의 구조에 대한 참조 : 여기 http://www.adobe.com/devnet/pdf/pdf_reference.html

6

는 요청하지 않은 제안이지만, 그럼에도 불구하고 당신이 당신의 목표를 달성하는 데 도움이 할 수있는 : 사용 Ghostscript를 사용하여 PDF를 변환하고 하이퍼 링크를 추가하십시오.

다음은 방법을 설명합니다. 예에서는 Windows를 사용한다고 가정합니다. 리눅스 또는 Mac OS X에서 gs (대신 gswin32c.exe의 사용과 행 계속 대신 ^\를 사용

gswin32c.exe^
    -o with-hyperlink.pdf^
    -sDEVICE=pdfwrite^
    -c "[ /Rect [0 425 295 465]"^
    -c " /Border [0 0 2]"^
    -c " /Color [.7 0 0]"^
    -c " /Page 1"^
    -c " /Action <</Subtype /URI"^
    -c " /URI (http://stackoverflow.com/questions/4663409/creating-a-pdf-hyperlink-with-postscript/4674664#4674664)>>"^
    -c " /Subtype /Link"^
    -c " /ANN pdfmark"^
    -f without-hyperlink.pdf 

이 명령은 원래의 PDF, 을 재-걸러내어없이-hyperlink.pdf 와 -hyperlink.pdf. 결과 PDF에는 1 페이지의 하이퍼 링크가 있습니다.

PDF의 내용을 텍스트 편집기에서 조작하는 것은 가능하지만 실제로 조작 할 필요가 있습니다. 대부분의 PDF에서이 작업을 수행 할 수 있습니다.

관련 문제