Hi ORPALIS-Team,
I am testing now for several hours, but the result is always the same.
I want to convert a regular PDF to an MRC-compressed PDF/A-1b pdf-file.
Approach 1
Using GdPicturePDFReducer, loading the resulting pdf and then trying to .ConvertToPDFA:
Code: Select all
Dim gdpicturePDFReducer As GdPicturePDFReducer = New GdPicturePDFReducer()
gdpicturePDFReducer.PDFReducerConfiguration.OutputFormat = PDFReducerPDFVersion.PdfVersionRetainExisting
gdpicturePDFReducer.PDFReducerConfiguration.RecompressImages = True
gdpicturePDFReducer.PDFReducerConfiguration.EnableMRC = True
gdpicturePDFReducer.PDFReducerConfiguration.DownscaleResolutionMRC = 200
gdpicturePDFReducer.PDFReducerConfiguration.PreserveSmoothing = False
status = gdpicturePDFReducer.ProcessDocument(SourceNamePDF, DestNamePDF)
status = urGdPicturePdf.LoadFromFile(DestNamePDF, False)
status = urGdPicturePdf.ConvertToPDFA(tmpComparablePDFFile, PdfConversionConformance.PDF_A_1b, True, True)
urGdPicturePdf.CloseDocument
Approch 2
Replacing the Images with MRC compressed one and then ConvertingToPDFA:
Code: Select all
status = urGdPicturePdf.LoadFromFile(SourceNamePDF, False)
urGdPicturePdf.SetMRCPreserveSmoothing(False)
urGdPicturePdf.SetCompressionForBitonalImage(PdfCompression.PdfCompressionJBIG2)
urGdPicturePdf.SetCompressionForColorImage(PdfCompression.PdfCompressionJPEG)
urGdPicturePdf.SetJpegQuality(80)
For page = 1 To PageCount
status = urGdPicturePdf.SelectPage(page)
If urGdPicturePdf.IsPageImage(True) Then
ImageID = urGdPicturePdf.ExtractPageImage(1)
status = urGdPicturePdf.GetStat()
If status = GdPictureStatus.OK Then
ImgResName = urGdPicturePdf.GetPageImageResName(0)
status = urGdPicturePdf.GetStat()
If status = GdPictureStatus.OK Then
status = urGdPicturePdf.ReplaceImageMRC(ImgResName, ImageID)
End If
End If
GdPictureDocumentUtilities.DisposeImage(ImageID)
End If
End If
Next
status = urGdPicturePdf.ConvertToPDFA(tmpComparablePDFFile, PdfConversionConformance.PDF_A_1b, True, True)
urGdPicturePdf.CloseDocument
The only working version is loading the source pdf, creating a new pdf, iterating through all the pages, extracting the Images of each page from the source and placing the compressed one to the new pdf.
Code: Select all
status = oGdPicturePdf.NewPDF(PdfConformance.PDF_A_1b)
status = urGdPicturePdf.LoadFromFile(SourceNamePDF, False)
For page = 1 To PageCount
status = urGdPicturePdf.SelectPage(page)
ImageID = urGdPicturePdf.RenderPageToGdPictureImage(200, True)
status = oGdPicturePdf.AddImageFromGdPictureImage(ImageID,PdfAdvancedImageCompression.PdfAdvancedImageCompressionMRC)
GdPictureDocumentUtilities.DisposeImage(ImageID)
Next
urGdPicturePdf.closeDocument
status = oGdPicturePdf.SaveToFile(DestNamePDF, True)
Attached one file I was testing with. Many others, too.