使用c#编辑pdf书签url
本文关键字:书签 url pdf 编辑 使用 | 更新日期: 2023-09-27 18:19:00
我有一个pdf文件,其中有不同章节的书签(每个章节使用书签链接到另一个pdf文件中的单独文件夹)。点击每个章节名称将在同一个父PDF文件中打开一个新的PDF。
我需要检索父pdf文件的书签url并更改url。我使用下面的代码来检索书签属性(动作,文件,标题等),但是没有成功地改变路径,因为它是字典键值对。
IList<Dictionary<String, Object>> bmProperties= SimpleBookmark.GetBookmark(new PdfReader(new RandomAccessFileOrArray("http://XXXX/Shared%20Documents/Chapters.pdf"),
null));
foreach (IDictionary<String, Object> bmProperty in bmProperties)
{
foreach (var fileProperty in bmProperty.Keys)
{
if (fileProperty == "File")
{
// need the edit the value of Key-"File". Will it be possible to alter the value using pdfwriter
}
}
可以分两步完成。
- 从父PDF中获取书签,就像上面的代码片段一样。迭代
- 用
PdfReader
再次打开父PDF。然后用第1步更新的内容覆盖现有书签:
IList
并进行任何必要的更改。PdfReader reader = new PdfReader(PARENT-PDF-FILE); using (PdfStamper stamper = new PdfStamper(reader, YOUR-STREAM)) { stamper.Outlines = bmProperties; }
注意,在步骤1你必须考虑到一些bmProperty
(IDictionary
从你上面的代码)值本身可能是Dictionary<String, Object>
对象,如果你的书签有嵌套的水平
我对你的要求不太有信心。但是有另一个库PDFSharp有一些很好的书签功能…
pdf格式的书签
http://www.pdfsharp.net/wiki/Bookmarks-sample.ashx问候。