filter/source/pdf/pdfexport.cxx | 3 +++ include/vcl/pdfwriter.hxx | 2 +- vcl/qa/cppunit/pdfexport/pdfexport.cxx | 9 ++++++++- vcl/source/gdi/pdfwriter_impl.cxx | 1 + 4 files changed, 13 insertions(+), 2 deletions(-)
New commits: commit 11531b92eeae8feaa49e74f9992b6c3b781ec8f8 Author: Miklos Vajna <vmik...@collabora.co.uk> AuthorDate: Thu Aug 16 15:45:00 2018 +0200 Commit: Miklos Vajna <vmik...@collabora.co.uk> CommitDate: Thu Aug 16 18:16:14 2018 +0200 PDF export: allow API users to opt in for version 1.6 Don't make it the default yet, though. Conflicts: vcl/qa/cppunit/pdfexport/pdfexport.cxx Change-Id: Ida56eb25a84bf5425d4879c062c084bb68984d9a diff --git a/filter/source/pdf/pdfexport.cxx b/filter/source/pdf/pdfexport.cxx index 4fdd7a450626..4458f485c613 100644 --- a/filter/source/pdf/pdfexport.cxx +++ b/filter/source/pdf/pdfexport.cxx @@ -572,6 +572,9 @@ bool PDFExport::Export( const OUString& rFile, const Sequence< PropertyValue >& mbEncrypt = false; // no encryption xEnc.clear(); break; + case 16: + aContext.Version = vcl::PDFWriter::PDFVersion::PDF_1_6; + break; } // copy in context the values default in the constructor or set by the FilterData sequence of properties diff --git a/include/vcl/pdfwriter.hxx b/include/vcl/pdfwriter.hxx index 78a28231ea10..66004c0c7362 100644 --- a/include/vcl/pdfwriter.hxx +++ b/include/vcl/pdfwriter.hxx @@ -105,7 +105,7 @@ public: enum class Orientation { Portrait, Inherit }; // in case the below enum is added PDF_1_6 PDF_1_7, please add them just after PDF_1_5 - enum class PDFVersion { PDF_1_2, PDF_1_3, PDF_1_4, PDF_1_5, PDF_A_1 };//i59651, PDF/A-1b & -1a, only -1b implemented for now + enum class PDFVersion { PDF_1_2, PDF_1_3, PDF_1_4, PDF_1_5, PDF_1_6, PDF_A_1 };//i59651, PDF/A-1b & -1a, only -1b implemented for now // for the meaning of DestAreaType please look at PDF Reference Manual // version 1.4 section 8.2.1, page 475 enum class DestAreaType { XYZ, FitRectangle }; diff --git a/vcl/qa/cppunit/pdfexport/pdfexport.cxx b/vcl/qa/cppunit/pdfexport/pdfexport.cxx index 1a88b97e5364..1b2f03ddc089 100644 --- a/vcl/qa/cppunit/pdfexport/pdfexport.cxx +++ b/vcl/qa/cppunit/pdfexport/pdfexport.cxx @@ -156,7 +156,8 @@ void PdfExportTest::testTdf106059() // Explicitly enable the usage of the reference XObject markup. uno::Sequence<beans::PropertyValue> aFilterData = { - comphelper::makePropertyValue("UseReferenceXObject", true) + comphelper::makePropertyValue("UseReferenceXObject", true), + comphelper::makePropertyValue("SelectPdfVersion", static_cast<sal_Int32>(16)) }; aMediaDescriptor["FilterData"] <<= aFilterData; xStorable->storeToURL(aTempFile.GetURL(), aMediaDescriptor.getAsConstPropertyValueList()); @@ -181,6 +182,12 @@ void PdfExportTest::testTdf106059() // The image is a reference XObject. // This dictionary key was missing, so the XObject wasn't a reference one. CPPUNIT_ASSERT(pReferenceXObject->Lookup("Ref")); + + // The following check used to fail in the past, header was "%PDF-1.5": + aStream.Seek(0); + OString aExpectedHeader("%PDF-1.6"); + OString aHeader(read_uInt8s_ToOString(aStream, aExpectedHeader.getLength())); + CPPUNIT_ASSERT_EQUAL(aExpectedHeader, aHeader); } void PdfExportTest::testTdf106693() diff --git a/vcl/source/gdi/pdfwriter_impl.cxx b/vcl/source/gdi/pdfwriter_impl.cxx index 1cbdd642b504..a742373d3195 100644 --- a/vcl/source/gdi/pdfwriter_impl.cxx +++ b/vcl/source/gdi/pdfwriter_impl.cxx @@ -1816,6 +1816,7 @@ void PDFWriterImpl::PDFPage::appendWaveLine( sal_Int32 nWidth, sal_Int32 nY, sal default: case PDFWriter::PDFVersion::PDF_1_4: aBuffer.append( "1.4" );break; case PDFWriter::PDFVersion::PDF_1_5: aBuffer.append( "1.5" );break; + case PDFWriter::PDFVersion::PDF_1_6: aBuffer.append( "1.6" );break; } // append something binary as comment (suggested in PDF Reference) aBuffer.append( "\n%\303\244\303\274\303\266\303\237\n" ); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits