用GhostScript给pdf文件加书签

OOo,TeX,KO,ABI,GIMP,Picasa,ProE,QCAD,Inkscape,Kicad,Eagle
回复
yangdawei.hit
帖子: 245
注册时间: 2015-01-02 15:32
系统: Debian

用GhostScript给pdf文件加书签

#1

帖子 yangdawei.hit » 2015-05-11 21:57

http://blog.tremily.us/posts/PDF_bookma ... ostscript/

学到了如何给pdf加书签,先做好一个文本文件,如pdfmarks(格式后面说),执行命令:

代码: 全选

gs -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sOutputFile=out.pdf in.pdf pdfmarks
其中out.pdf为输出文件,即加了标签的文件;in.pdf即原文件。

pdfmarks的格式为:

代码: 全选

[/Title (Title Page) /Page 1 /OUT pdfmark
括号中填入标签名,/Page后面填写链接的页码。

若需要嵌入级别,则在前面添加/Count num:

代码: 全选

[/Count 3 /Title (Chapter 1) /Page 1 /OUT pdfmark
这表示在第一章中会有3个子标题。在数字前面还可有负号,这意味着默认情况下该标题是展开的。

下面是我给一本书编写的pdfmarks文件:

代码: 全选

[/Title (Cover) /Page 1 /OUT pdfmark
[/Title (Contents) /Page 4 /OUT pdfmark
[/Count 5 /Title (Part I:INTRODUCTION TO TENSOR CALCULUS) /Page 5 /OUT pdfmark
[/Title (1.1 INDEX NOTATION) /Page 5 /OUT pdfmark
[/Title (1.2 TENSOR CONCEPTS AND TRANSFORMATIONS) /Page 39 /OUT pdfmark
[/Title (1.3 SPECIAL TENSORS) /Page 70 /OUT pdfmark
[/Title (1.4 DERIVATIVE OF A TENSOR) /Page 113 /OUT pdfmark
[/Title (1.5 DIFFERENTIAL GEOMETRY AND RELATIVITY) /Page 134 /OUT pdfmark
[/Count 6 /Title (Part II:INTRODUCTION TO CONTINUUM MECHANICS) /Page 176 /OUT pdfmark
[/Title (2.1 TENSOR NOTATION FOR VECTOR QUANTITIES) /Page 176 /OUT pdfmark
[/Title (2.2 DYNAMICS) /Page 192 /OUT pdfmark
[/Title (2.3 BASIC EQUATIONS OF CONTINUUM MECHANICS) /Page 217 /OUT pdfmark
[/Title (2.4 CONTINUUM MECHANICS (SOLIDS)) /Page 249 /OUT pdfmark
[/Title (2.5 CONTINUUM MECHANICS (FLUIDS)) /Page 288 /OUT pdfmark
[/Title (2.6 ELECTRIC AND MAGNETIC FIELDS) /Page 331 /OUT pdfmark
[/Title (APPENDIX A UNITS OF MEASUREMENT) /Page 359 /OUT pdfmark
[/Title (APPENDIX B CHRISTOFFEL SYMBOLS OF SECOND KIND) /Page 361 /OUT pdfmark
[/Title (APPENDIX C VECTOR IDENTITIES) /Page 368 /OUT pdfmark
附图是添加完书签的截图,看起来还不错吧?
附件
Heinbockel2001.png
头像
sunfish
帖子: 989
注册时间: 2008-05-03 1:53

Re: 用GhostScript给pdf文件加书签

#2

帖子 sunfish » 2015-05-12 8:19

mark
docker && kubernetes
头像
duguyipiao
帖子: 158
注册时间: 2011-09-13 10:31

Re: 用GhostScript给pdf文件加书签

#3

帖子 duguyipiao » 2015-05-12 9:04

较新版本的pdftk也可以加书签(可能是2.0添加的新功能),可以先找一个有书签的pdf用dump_data导出一个metadata文件,看看bookmark的格式,还可以使用utf8编码。可以看看pdftk的manual,涉及dump_data, dump_data_utf8, update_info, update_info_utf8。
lord007
帖子: 555
注册时间: 2009-07-13 21:54

Re: 用GhostScript给pdf文件加书签

#4

帖子 lord007 » 2015-05-12 10:01

书签和书籍分离了,适合用脚本操作了
不过好像没有页内定位
南无阿弥陀佛
yangdawei.hit
帖子: 245
注册时间: 2015-01-02 15:32
系统: Debian

Re: 用GhostScript给pdf文件加书签

#5

帖子 yangdawei.hit » 2015-05-13 9:21

duguyipiao 写了:较新版本的pdftk也可以加书签(可能是2.0添加的新功能),可以先找一个有书签的pdf用dump_data导出一个metadata文件,看看bookmark的格式,还可以使用utf8编码。可以看看pdftk的manual,涉及dump_data, dump_data_utf8, update_info, update_info_utf8。
pdftk的manual的内容很多,没有精力研究,期待有高人给系统讲一讲。
回复