以编程方式向PDF文档添加印章层

7

我正在寻找一种方法来给PDF文档添加额外的层。这个层应该在现有层的顶部,并应该显示我想要放置的文本,类似于水印。目前我们有一种做法,但这只是将文本添加到嵌入PDF中的图片上,这不是我想要的。是否有任何想法,是否有库(最好是免费的)可以实现这一点?


在PdfSharp中创建水印。 - David Hedlund
会尝试,我需要检查PDF上的文本是否保持为文本,而不是转换为图像。在我尝试的其他例子中似乎发生了这种情况。但还是谢谢!我会告诉你的。 - Jasper
强烈推荐使用iTextSharp。我几乎每天都在使用它,它可以完全满足你的需求,并且不会将任何内容转换为光栅图像。事实上,它甚至没有将任何内容转换为光栅图像的能力。 - Chris Haas
1个回答

4
我们使用MigraDoc。

http://www.pdfsharp.net/MigraDocOverview.ashx?AspxAutoDetectCookieSupport=1

更具体地说,PdfSharp库位于PdfSharp.dll中。
PdfDocument doc = PdfReader.Open(pdf1Point4FileDataStream, PdfDocumentOpenMode.Modify)

foreach (PdfPage page in doc.Pages)
{
    page.Orientation = PdfSharp.PageOrientation.Portrait;
    var gfx = XGraphics.FromPdfPage(page, XGraphicsPdfPageOptions.Append, XPageDirection.Downwards);

    gfx.DrawString(approvalWatermark, approvalFont, watermarkBrush, new XPoint((page.Width - maxWidth + approvalDiff) / 2 - space - moveLeft, page.Height / 2 - height1 - space), format);
}

这只是我们项目中一小部分代码,所以有些不完整。请查看库和类,那里会有一些文档。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接