We're sorry Aspose doesn't work properply without JavaScript enabled.

Free Support Forum - aspose.com

Validation Problem when converting PPTX to PDFA/1B or PDFA/2U

Hello,

when I was converting and validating .pptx-Files into PDFA/1B or PDFA/2U I found following problems in Version 17.11 and 18.3. Every PDF-Document could be generated and could shown by standard PDF-Viewers, but when validating the documents I got several errors.

I’ve used the following Validation-Tools:

Testing with OnlineValidator I ever got validation errors for with Aposal generated A/1B-documents, and validation errors for every with Aposal generated A/2U-document with more than 2 pages. Testing with veraPDF I ever got validation errors for A/2U-documents, but A/1B-documents are validated successful.

** Validation-Tool ** -------------------- Input file -------------------------- ** PDFA/1B ** -------------- ** PDFA/2U **
3-Heights Online Validator -------- TestInput_2_Pages.pptx -------------- validation-error ----------- ok
3-Heights Online Validator -------- TestInput_3_Pages.pptx -------------- validation-error ----------- validation-error
veraPDF ----------------------------- TestInput_2_Pages.pptx -------------- ok ----------- validation-error
veraPDF ----------------------------- TestInput_3_Pages.pptx -------------- ok ----------- validation-error

Other PDF-Files could be validated successful with both validation tools. With the knowledge of converting (with asposal) a pptx to PDFA/1B and then converting the PDFA/1B to PDFA/1U I could not understand why the PDFA/1B could be not validated, but the PDFA/2U-document could validate. That’s a issue to be investigated.

Greeting
Michael

Here is my source-code:

using Aspose.Pdf;
using Aspose.Pdf.Devices;
using System;
using System.Diagnostics;
using System.IO;

namespace Aspose_PPTX_PDF_Converter
{
class Program
{
static void Convert(string inputPPTX)
{
var pdfA1B = inputPPTX.Replace(".pptx","_A1B.pdf");
var pdfA2U = inputPPTX.Replace(".pptx", “_A2U.pdf”);

        System.Console.WriteLine("Converting {0} To {1}", inputPPTX, pdfA1B);
        var presentation = new Aspose.Slides.Presentation(inputPPTX);
        Aspose.Slides.Export.PdfOptions opt = new Aspose.Slides.Export.PdfOptions();
        opt.Compliance = Aspose.Slides.Export.PdfCompliance.PdfA1b;
        opt.EmbedFullFonts = true;
        presentation.Save(pdfA1B, Aspose.Slides.Export.SaveFormat.Pdf, opt);
        
        System.Console.WriteLine("Converting {0} to {1}", pdfA1B, pdfA2U);
        var pdfDocA2U = new Aspose.Pdf.Document(pdfA1B);
        if (pdfDocA2U.Convert(new System.IO.MemoryStream(), Aspose.Pdf.PdfFormat.PDF_A_2U, Aspose.Pdf.ConvertErrorAction.Delete))
            pdfDocA2U.Save(pdfA2U);
    }

    static void Main(string[] args)
    {
        Convert(@"TestInput_2_Pages.pptx");
        Convert(@"TestInput_3_Pages.pptx");
    }
}

}

@Michael_Pohl

Thank you for contacting support.

We would like to share with you that the PDFA/1B compliant PDF file is generated by Aspose.Slides API by using below line of code. While the PDFA/2U file is generated by Aspose.PDF API, so apparently the problem pertains to Aspose.Slides API. Therefore, this enquiry has been moved to relevant forum.

opt.Compliance = Aspose.Slides.Export.PdfCompliance.PdfA1b;

Kindly share your source presentation files and generated PDF files with us. Before sharing requested data, please ensure using Aspose.Slides for .NET 18.2.1 in your environment.

Furthermore, we would like to share with you that we follow Adobe Preflight for validating PDF/A conformance because different validation tools give different results so Adobe being at the center of everything connected to PDF, is a reliable option to choose among others.

For Aspose.Slides I have used 17.11 and 18.2.1. Now I’ve checked validation in Acrobat Pro DC via Preflight and the converted PDF (1b and 2u) contains errors too. I will send the sources, pptx and pdf-documents via mail.

@Michael_Pohl,

When you will share the requested information, we will be able to investigate the issue further on our end.