如何使用具有PDFA-2或PDF / A-3一致性级别的PdfCopy / PdfStamper打开PDF / A-1文档

时间:2016-01-05 08:40:45

标签: pdf itextsharp itext pdfa

我仍在尝试将PDF转换为PDF / A,从PDF / A-1转换为PDF / A-2,从PDF / A-2转换为PDF / A-3。如您所见,我的目标是从现有的PDF文件中获得PDF / A-3一致性文件。

将PDF / A-1转换为PDF / A-2b的问题在于它无法正常工作。我正在尝试使用PdfACopy打开PDF / A-1一致性pdf文件,该文件将创建PDF / A-2一致性文件,但会发生此错误。

  

不同的PDF / A版本。

以下是我的代码中的一些摘录:

 using (Document doc = new Document())
        {
            using (FileStream fs = new FileStream(destPdfA, FileMode.Create, FileAccess.ReadWrite))
            {
                using (PdfReader reader = new PdfReader(pdfPath))
                {
                    using (PdfACopy copy = new PdfACopy(doc, fs, PdfAConformanceLevel.PDF_A_2B))
                    {
                        copy.SetPdfVersion(PdfCopy.PDF_VERSION_1_7);
                        copy.SetTagged();
                        copy.CreateXmpMetadata();
                        doc.Open();

                        ICC_Profile icc = ICC_Profile.GetInstance(ICC);
                        copy.SetOutputIntents("Custom", "", "http://www.color.org", "sRGB IEC61966-2.1", icc);

                        copy.AddDocument(reader);
                        PdfStructureTreeRoot s = copy.StructureTreeRoot;
                        Boolean a = PdfStructTreeController.CheckTagged(reader);
                        doc.Close();
                    }
                }
            }
        }

如何创建或转换这些PDF?我是否需要从原始文件中读取元数据,更改PDF / a版本,再次阅读然后更改它?

请告诉我如何转换这些文件。我只想要一个PDF-A3一致性文件。

0 个答案:

没有答案