通过从带有书签的pdf文件中获取元数据pdftk
,我观察了pdf元数据中书签的格式。因此,我猜测使用pdftk
可以添加和编辑pdf文件的书签。
我遵循以下三个步骤:
- 首先,我将pdf文件中的元数据(包括书签,如果有的话)转换为文本文件
pdftk in.pdf dump_data > in.info
。 接下来,我将一些书签添加到元数据文本文件中
in.info
,从InfoKey: Creator InfoValue: PScript5.dll Version 5.2 InfoKey: Title InfoValue: SSReader Print. InfoKey: Producer InfoValue: Acrobat Distiller 7.0 (Windows) InfoKey: Author InfoValue: Administrator InfoKey: ModDate InfoValue: D:20050605073244+08'00' InfoKey: CreationDate InfoValue: D:20050605073244+08'00' PdfID0: 591a87c91dc76881fdf2ccf3811e72a5 PdfID1: 6b6ab11de8824e438e4f5eb1d85ec72 NumberOfPages: 400 PageLabelNewIndex: 1 PageLabelStart: 1 PageLabelNumStyle: DecimalArabicNumerals
至
InfoKey: Creator InfoValue: PScript5.dll Version 5.2 InfoKey: Title InfoValue: SSReader Print. InfoKey: Producer InfoValue: Acrobat Distiller 7.0 (Windows) InfoKey: Author InfoValue: Administrator InfoKey: ModDate InfoValue: D:20050605073244+08'00' InfoKey: CreationDate InfoValue: D:20050605073244+08'00' PdfID0: 591a87c91dc76881fdf2ccf3811e72a5 PdfID1: 6b6ab11de8824e438e4f5eb1d85ec72 NumberOfPages: 400 BookmarkBegin BookmarkTitle: Front cover BookmarkLevel: 1 BookmarkPageNumber: 1 BookmarkBegin BookmarkTitle: About the Author BookmarkLevel: 1 BookmarkPageNumber: 5 BookmarkBegin BookmarkTitle: Title page BookmarkLevel: 1 BookmarkPageNumber: 6 BookmarkBegin BookmarkTitle: Copyright page BookmarkLevel: 1 BookmarkPageNumber: 7 BookmarkBegin BookmarkTitle: Foreword BookmarkLevel: 1 PageLabelNewIndex: 1 PageLabelStart: 1 PageLabelNumStyle: DecimalArabicNumerals
- 然后,我尝试通过来将已编辑的元数据放回pdf文件
pdftk in.pdf update_info in.info output out.pdf
。
但是,当我out.pdf
在evince或Adobe Reader中打开新的pdf文件时,新的pdf文件中没有书签。
如果我得到了新的PDF文件的元数据out.pdf
通过pdftk out.pdf dump_data > out.info
,将有中没有书签out.info
。书签似乎未成功添加。
我想知道是否有一些错误?我如何添加和编辑pdf文件的书签,而不必通过pdftk?