【发布时间】:2013-06-26 06:49:52
【问题描述】:
我们有一个生成 PDF 文档的程序,使用这些文档的工作人员需要对所有生成的页面(大约 700 多个)进行手写签名。我想做的是扫描他签名的图像并将其插入现有 PDF 的每一页。
因此,我的问题是如何使用 vb.net 最容易地做到这一点
【问题讨论】:
我们有一个生成 PDF 文档的程序,使用这些文档的工作人员需要对所有生成的页面(大约 700 多个)进行手写签名。我想做的是扫描他签名的图像并将其插入现有 PDF 的每一页。
因此,我的问题是如何使用 vb.net 最容易地做到这一点
【问题讨论】:
您可以使用 PDF 编辑库自动执行该过程。例如使用开源项目 PDFLib 2.1。从这里http://pdflib.codeplex.com/ 下载并尝试编辑您的页面。
它公开了一个名为 GetPages 的函数,该函数返回 PDF 页面的列表。通过遍历每个页面,您可以对其进行编辑或添加新内容。
【讨论】:
借助Docotic.Pdf library,您可以轻松地将图像添加到 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 中。
免责声明:我为图书馆的供应商工作。
【讨论】: