分页: 1 / 1

用GhostScript给pdf文件加书签

发表于 : 2015-05-11 21:57
yangdawei.hit
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
附图是添加完书签的截图,看起来还不错吧?

Re: 用GhostScript给pdf文件加书签

发表于 : 2015-05-12 8:19
sunfish
mark

Re: 用GhostScript给pdf文件加书签

发表于 : 2015-05-12 9:04
duguyipiao
较新版本的pdftk也可以加书签(可能是2.0添加的新功能),可以先找一个有书签的pdf用dump_data导出一个metadata文件,看看bookmark的格式,还可以使用utf8编码。可以看看pdftk的manual,涉及dump_data, dump_data_utf8, update_info, update_info_utf8。

Re: 用GhostScript给pdf文件加书签

发表于 : 2015-05-12 10:01
lord007
书签和书籍分离了,适合用脚本操作了
不过好像没有页内定位

Re: 用GhostScript给pdf文件加书签

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