有没有一种方法可以使用纯C#将PDF转换为PDF / A

时间:2019-02-06 09:41:16

标签: c# asp.net pdf telerik pdfa

我正在一个项目上,在asp.net MVC上运行,该项目使用Telerik Report设计器创建PDF报告。现在,我正在寻找一种创建PDF / A(也许是版本3)的方法,因为Telerik还不支持这种格式。 我知道有些图书馆支持这种格式。但是,我正在寻找一种解决方案,以使用纯C#(和/或脚本)或免费的可信任库来实现它。

先谢谢了。

3 个答案:

答案 0 :(得分:1)

编辑:使用iTextSharp解决方案发现了一个类似的问题: Can iTextSharp convert PDF document to PDF/A

据我所知,如果您的.PDF不超过10页,spire.pdf将是您可以使用的免费库。对于较大的.PDF,您需要许可证。

https://www.e-iceblue.com/Tutorials/Spire.PDF/Spire.PDF-Program-Guide/Conversion/How-to-Convert-PDF-to-PDF/A-in-C-VB.NET.html

答案 1 :(得分:0)

Syncfusion .NET PDF library支持使用C#将PDF转换为PDF / A-1b。请参阅下面的知识库以获取更多信息。

https://www.syncfusion.com/kb/9515/how-to-convert-pdf-to-pdf-a-1b-using-c-and-vb-net

如果符合条件,则可以通过community license程序免费(也可以用于商业应用程序)整套控件。社区许可证是完整产品,没有任何限制。

注意:我为Syncfusion工作。

答案 2 :(得分:-1)

我使用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在线工具”上的结果:

checking the pdfa validity

祝你好运:)