我正在研究一个项目,在asp.net MVC上运行,它使用Telerik Report设计器来创建PDF报告。现在我正在寻找一种创建PDF / A(可能是版本3)的方法,因为Telerik还不支持这种格式。我知道有一些图书馆支持这种格式。但是,我正在寻找一种解决方案,使其可以使用纯C#(和/或脚本)或免费的可信任库。
提前致谢。
编辑:使用iTextSharp找到一个类似的问题:Can iTextSharp convert PDF document to PDF/A
如果您的.PDF不超过10页,spire.pdf将是您可以使用的免费库,据我所知。对于较大的.PDF,您需要许可证。
Syncfusion .NET PDF library支持使用C#将PDF转换为PDF / A-1b。有关更多信息,请参阅以下KB。
https://www.syncfusion.com/kb/9515/how-to-convert-pdf-to-pdf-a-1b-using-c-and-vb-net
如果您符合资格,可通过community license计划免费提供整套控件(商业应用程序)。社区许可是完整的产品,没有任何限制。
注意:我为Syncfusion工作。
我找到了使用Telerik的解决方案,我想分享它可能对其他人有用。我只需要将fileObject转换为流,然后使用这些行,我可以在我的流上应用设置(例如PDF / A)。这是代码:
private Stream PdfToPdfa(Stream input)
{
PdfFormatProvider provider = new PdfFormatProvider();
PdfExportSettings settings = new PdfExportSettings();
settings.ComplianceLevel = PdfComplianceLevel.PdfA3B;
provider.ExportSettings = settings;
RadFixedDocument document = provider.Import(input);
Stream output = new MemoryStream();
provider.Export(document, output);
return output;
}
“PDF VALIDATOR ONLINE TOOL”的结果:
祝好运 :)