我正在开发Bookmark Export Task,它将所有书签从一个pdf导出到另一个pdf。这对我来说现在很好,但是像放大/缩小/页面导航操作这样的书签属性不起作用。
请在下面找到我的代码并指导我完成任务。
控制台C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using iTextSharp.text.pdf;
using iTextSharp.text;
class BookMark
{
static void Main(string[] args)
{
string source = "D:\\Sourcefile.pdf";
string destination = "D:\\Outputfile.pdf";
string temp_destination = dest.Replace(".", "_temp.");
File.Copy(destination, temp_destination);
PdfReader reader = new PdfReader(src);
List<Dictionary<String, Object>> list = SimpleBookmark.GetBookmark(reader).ToList();
reader.Close();
PdfReader reader1 = new PdfReader(temp_destination);
PdfStamper stamper = new PdfStamper(reader1, new FileStream(dest, FileMode.Create));
stamper.Outlines = list;
stamper.Close();
reader1.Close();
File.Delete(temp_destination);
}
}
当我运行上述程序时,我将从Sourcefile.pdf获取所有pdf书签到Outputfile.pdf,但书签的操作如页面向下,向上翻页,放大,缩小..等操作都无法正常工作(当我在导出的pdf中检查其属性时,操作为无)。
请查看源文件(附带屏幕截图)书签操作属性和目标(附带屏幕截图)书签操作属性。
源文件书签操作属性
源文件书签列表和目标书签列表与源文件看起来相同
目标文件书签操作未从源书签导入操作的属性