【问题标题】:Fill in PDF with fields [closed]用字段填写 PDF [关闭]
【发布时间】:2011-07-21 13:21:57
【问题描述】:

我有一些来自不同客户/供应商的 PDF。我的目标是构建一个 Web 应用程序,潜在客户可以在其中填写单一形式的数据,然后生成所有 PDF 以进行打印和签名。

PDF 中有字段,您可以在 adobe reader 中单击并输入数据。但是,这是敏感的财务数据,PDF 不会让您保存到桌面。当您打开 pdf 时,adobe reader 中实际上有一个警告,它会阻止您保存已完成的表单。我不关心这个功能。如果我自己生成完整的 pdf 文件时打开它,我的用户可以冒险保存它。

问题是我需要在不改变样式的情况下生成这些 pdf,并将我的数据注入其中。我想避免手动构建它们,但如果必须,我会这样做。我怎样才能生成他们给我填写的数据的确切 PDF 格式?

【问题讨论】:

    标签: c# pdf pdf-generation


    【解决方案1】:

    您可以查看 iTextSharp 和 PdfStamper 类 - 它允许您加载现有的 PDF,将数据“标记”到字段中,然后展平可以发送给用户的 PDF:

    http://sourceforge.net/projects/itextsharp/

    请注意,iTextSharp 是为商业产品付费的 - 但很可能还有其他开源库可以做到这一点。

    【讨论】:

    • 谢谢帕迪!我来看看。考虑到这一代 pdf 的重要性,我认为他们购买许可证不会有问题。免费更好,但我会告诉他们为有效的付费。
    • @Josh - 我们已经使用了一段时间了。学习曲线有点小,但速度很快,完全符合我们的需要。
    • 有趣的阅读:itextsharp-license
    • 请注意,当前的 itextsharp 许可证 (AGPL) 要求您发布自己的源代码。这是最糟糕的许可证之一。 itextpdf.com/pricing
    【解决方案2】:

    您可以尝试Aspose.Pdf for .NET 来实现您的目标。你可以fill the form fields 使用这个组件。如果您不想让用户在填写 PDF 后编辑此数据,您也可以flatten the fields。这不会更改 PDF 的现有布局。 API 非常简单,提供完整的文档和支持。

    披露:我在 Aspose 担任开发布道师。

    【讨论】:

    • 我尝试了 Aspose,但它在 Aspose.Pdf.Facades.Form pdfForm = new Aspose.Pdf.Facades.Form("input.pdf", "output.pdf"); 线上爆炸并出现 NullReferenceException。 ITextSharp 有效。
    猜你喜欢
    • 2017-03-12
    • 1970-01-01
    • 2010-09-09
    • 1970-01-01
    • 2021-08-07
    • 2020-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多