我使用 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/