gpt4 book ai didi

.net - 如何在保留书签的同时向现有 pdf 添加附加页面? (PDFSharp 等)

转载 作者:行者123 更新时间:2023-12-04 12:10:09 25 4
gpt4 key购买 nike

我有一个 PDF,我想添加一个额外的页面,最好是第一页。我已经能够使用 PDFSharp 实现这一点,但问题是原始 PDF 包含我想维护的书签。使用 PDFSharp 似乎删除了书签,或者至少我不知道有任何选项或命令可以使用包含附加页面的新创建的 PDF 保存原始 TOC。

有谁知道如何使用 PDFSharp 或任何其他 .NET 库(理想情况下是免费的库)保留 TOC,这将允许我将页面添加到现有 PDF 并维护其书签? (我知道添加一个页面作为第一页会使页面引用无效,这就是为什么添加一个页面作为最后一页也是可以的。)

谢谢大家!

最佳答案

原来 PDF 文件使用书签,而不是 TOC。

此处显示了适用于书签的解决方案:
http://forum.pdfsharp.net/viewtopic.php?p=6660#p6660

打开现有文件进行修改,在文档开头插入一个新页面 - 所有书签仍然有效。

这是代码片段:

static void Main(string[] args)
{
const string filename = "sample.pdf";
File.Copy(Path.Combine("D:\\PDFsharp\\PDFfiles\\sample\\", filename),
Path.Combine(Directory.GetCurrentDirectory(), filename), true);

// Open an existing document for editing and loop through its pages
PdfDocument document = PdfReader.Open(filename);
var newPage = document.InsertPage(0);

// Get an XGraphics object for drawing
XGraphics gfx = XGraphics.FromPdfPage(newPage);

// Create a font
XFont font = new XFont("Times New Roman", 20, XFontStyle.BoldItalic);

// Draw the text
gfx.DrawString("Hello, World!", font, XBrushes.Black,
new XRect(0, 0, newPage.Width, newPage.Height),
XStringFormats.Center);

document.Save(filename);
// ...and start a viewer.
Process.Start(filename);
}

关于.net - 如何在保留书签的同时向现有 pdf 添加附加页面? (PDFSharp 等),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14440173/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com