我们有一个生成 PDF 文档的程序,使用这些文档的工作人员需要对所有生成的页面(大约 700 多个)进行手写签名。我想做的是扫描他签名的图像并将其插入现有 PDF 的每一页。
因此,我的问题是使用 vb.net 最容易做到这一点
借助Docotic.Pdf 库,您可以非常轻松地将图像添加到 PDF 的所有页面。
这是示例代码(VB.NET):
Public Shared Sub AddImageToAllPages()
Using pdf As New PdfDocument("input.pdf")
Dim image As PdfImage = pdf.AddImage("image.png")
For Each page As PdfPage In pdf.Pages
page.Canvas.DrawImage(image, 100, 100)
Next
pdf.Save("out.pdf")
End Using
End Sub
这对于 C# 也是一样的:
public static void AddImageToAllPages()
{
using (PdfDocument pdf = new PdfDocument("input.pdf"))
{
PdfImage image = pdf.AddImage("image.png");
foreach (PdfPage page in pdf.Pages)
page.Canvas.DrawImage(image, 100, 100);
pdf.Save("out.pdf");
}
}
该代码将打开 PDF,打开图像并将图像添加到 PDF 的所有页面。图像将被重复使用,因此 PDF 字节长度不会增加太多。只有一份添加的图像将存储在输出 PDF 中。
免责声明:我为图书馆的供应商工作。
您可以使用 PDF 编辑库自动执行该过程。例如使用开源项目 PDFLib 2.1。从这里下载它http://pdflib.codeplex.com/并尝试编辑您的页面。
它公开了一个名为 GetPages 的函数,该函数返回 PDF 页面的列表。通过遍历每个页面,您可以对其进行编辑或添加新内容。