[Libreoffice-commits] core.git: vcl/source

Thorsten Behrens (via logerrit) logerrit at kemper.freedesktop.org
Mon Apr 8 11:46:28 UTC 2019


 vcl/source/gdi/pdfwriter_impl.cxx |   18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

New commits:
commit 69b5da392951fbd655912185434edab94f8ac0af
Author:     Thorsten Behrens <Thorsten.Behrens at CIB.de>
AuthorDate: Mon Apr 8 00:32:09 2019 +0200
Commit:     Thorsten Behrens <Thorsten.Behrens at CIB.de>
CommitDate: Mon Apr 8 13:46:05 2019 +0200

    pdf: always write resource dict for content streams
    
    Take out:
    - revert i#42884 workaround for AR5: use implicit resources in
      transparency groups
    
    Since verapdf complains with FAIL 6.2.2-2 in this case - missing
    resource dict for content stream.
    
    Change-Id: Ic186d2b4b393ac34f991a6747667332cf8f4658b
    Reviewed-on: https://gerrit.libreoffice.org/70391
    Tested-by: Jenkins
    Reviewed-by: Thorsten Behrens <Thorsten.Behrens at CIB.de>

diff --git a/vcl/source/gdi/pdfwriter_impl.cxx b/vcl/source/gdi/pdfwriter_impl.cxx
index f4c620bd13da..57b156a14315 100644
--- a/vcl/source/gdi/pdfwriter_impl.cxx
+++ b/vcl/source/gdi/pdfwriter_impl.cxx
@@ -8126,16 +8126,14 @@ void PDFWriterImpl::writeTransparentObject( TransparencyEmit& rObject )
     {
         if( ! m_bIsPDF_A1 )
         {
+            // 7.8.3 Resource dicts are required for content streams
+            aLine.append( "/Resources " );
+            aLine.append( getResourceDictObj() );
+            aLine.append( " 0 R\n" );
+
             aLine.append( "/Group<</S/Transparency/CS/DeviceRGB/K true>>\n" );
         }
     }
-    /* #i42884# the PDF reference recommends that each Form XObject
-    *  should have a resource dict; alas if that is the same object
-    *  as the one of the page it triggers an endless recursion in
-    *  acroread 5 (6 and up have that fixed). Since we have only one
-    *  resource dict anyway, let's use the one from the page by NOT
-    *  emitting a Resources entry.
-    */
 
     aLine.append( "/Length " );
     aLine.append( static_cast<sal_Int32>(nSize) );
@@ -8207,7 +8205,11 @@ void PDFWriterImpl::writeTransparentObject( TransparencyEmit& rObject )
             appendFixedInt( rObject.m_aBoundRect.Bottom()+1, aMask );
             aMask.append( "]\n" );
 
-            /* #i42884# see above */
+            // 7.8.3 Resource dicts are required for content streams
+            aMask.append( "/Resources " );
+            aMask.append( getResourceDictObj() );
+            aMask.append( " 0 R\n" );
+
             aMask.append( "/Group<</S/Transparency/CS/DeviceRGB>>\n" );
             aMask.append( "/Length " );
             aMask.append( nMaskSize );


More information about the Libreoffice-commits mailing list