c# - itextSharp SetField 性能(对比 activePDF 工具包)

标签 c# itext toolkit

我使用 activePDF 工具包已有一段时间了,但想将我的解决方案切换到 iTextSharp。我比较了一个与另一个的性能,发现 iTextSharp 在 PDF 上填写表单字段时比 activePDF 慢。这是我用于 iTextSharp 的代码:

using (MemoryStream memoryStream = new MemoryStream())
{
    PdfReader pdfReader = new PdfReader(template);
    PdfStamper pdfStamper = new PdfStamper(pdfReader, memoryStream);
    pdfStamper.FormFlattening = true;
    AcroFields pdfFormFields = pdfStamper.AcroFields;

    foreach (Field f in fields)
        pdfFormFields.SetField(f.Name,f.Value);
}

每个表单只慢几毫秒,但当您在创建单个 PDF 时处理成百上千个表单时,速度就会加起来。我希望可能有一种不同的方法来设置字段的值,但我没有看到(我也查看了 AcroFields.cs)。

有人对此有想法吗?

最佳答案

您可能永远不会达到同样的速度。 ActivePDF Toolkit 是带有 .NET 包装器的 native 32 位和 64 位代码。我们可以(并且确实)总能找到调整和提高性能的方法,但托管代码受 CLR 的支配。

关于c# - itextSharp SetField 性能(对比 activePDF 工具包),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29852698/

相关文章:

c# - 文件移动——操作系统如何知道是更新主文件表还是复制和删除?

c# - 我可以在 C# 中创建求和的通用方法吗

c# - 在 C#/.NET 中将用户名转换为 SID 字符串

sqlite - 如何在android中使用itextpdf以正确的方式放置表格?

java - 使用 Flying Saucer 将 HTML 转为 PDF : Internal CSS showing in PDF page

java - Android Studio Bumblebee,HMS Toolkit 不工作,为什么?

c# - 使用 Console.WriteLine() 的复杂 I/O

c# - 如何在 iTextSharp 中使用 PdfWriter 而不是 PdfCopy 复制表单域

windows-phone-7 - 使用 WP7 工具包时出现问题 - 类型或命名空间名称 'Toolkit' 不存在

javascript - 自定义 JavaScript 可视化工具包 Spacetree 节点