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

New commits:
commit 69b5da392951fbd655912185434edab94f8ac0af
Author:     Thorsten Behrens <thorsten.behr...@cib.de>
AuthorDate: Mon Apr 8 00:32:09 2019 +0200
Commit:     Thorsten Behrens <thorsten.behr...@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.behr...@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 );
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to