summaryrefslogtreecommitdiffstats
path: root/vcl/source
diff options
context:
space:
mode:
authorTor Lillqvist <tml@iki.fi>2012-08-13 17:49:53 +0300
committerTor Lillqvist <tml@iki.fi>2012-08-13 17:50:22 +0300
commite554121fcabefa01b531c1b5b63c227f5a9a97fa (patch)
tree4418380478c0c46d0190b1be8d9f5a730fd38d31 /vcl/source
parentRevert "Bypass pdfwriter for non-desktop OSes without any Mozilla stuff for now" (diff)
downloadcore-e554121fcabefa01b531c1b5b63c227f5a9a97fa.tar.gz
core-e554121fcabefa01b531c1b5b63c227f5a9a97fa.zip
Make it compile for Android again (and iOS, I hope)
Change-Id: Ib0a4f4ea4858d52ed70e9a4d1b7904325f36c361
Diffstat (limited to 'vcl/source')
-rw-r--r--vcl/source/gdi/pdfwriter_impl.cxx25
1 files changed, 23 insertions, 2 deletions
diff --git a/vcl/source/gdi/pdfwriter_impl.cxx b/vcl/source/gdi/pdfwriter_impl.cxx
index 026f1a6730af..ca4491671102 100644
--- a/vcl/source/gdi/pdfwriter_impl.cxx
+++ b/vcl/source/gdi/pdfwriter_impl.cxx
@@ -82,6 +82,7 @@
#include "cppuhelper/implbase1.hxx"
+#if !defined(ANDROID) && !defined(IOS)
// NSS header files for PDF signing support
#include "nss.h"
#include "cert.h"
@@ -89,6 +90,7 @@
#include "sechash.h"
#include "cms.h"
#include "cmst.h"
+#endif
using namespace vcl;
@@ -5916,12 +5918,14 @@ bool PDFWriterImpl::emitCatalog()
else
aInitPageRef.append( "0" );
+#if !defined(ANDROID) && !defined(IOS)
if (m_nSignatureObject != -1) // Document will be signed
{
aLine.append("/Perms<</DocMDP ");
aLine.append(m_nSignatureObject);
aLine.append(" 0 R>>");
}
+#endif
switch( m_aContext.PDFDocumentAction )
{
@@ -6049,14 +6053,20 @@ bool PDFWriterImpl::emitCatalog()
}
aLine.append( "\n]" );
+#if !defined(ANDROID) && !defined(IOS)
if (m_nSignatureObject != -1)
aLine.append( "/SigFlags 3");
+#endif
aLine.append( "/DR " );
aLine.append( getResourceDictObj() );
aLine.append( " 0 R" );
// /NeedAppearances must not be used if PDF is signed
- if( m_bIsPDF_A1 || ( m_nSignatureObject != -1 ) )
+ if( m_bIsPDF_A1
+#if !defined(ANDROID) && !defined(IOS)
+ || ( m_nSignatureObject != -1 )
+#endif
+ )
aLine.append( ">>\n" );
else
aLine.append( "/NeedAppearances true>>\n" );
@@ -6083,6 +6093,8 @@ bool PDFWriterImpl::emitCatalog()
return true;
}
+#if !defined(ANDROID) && !defined(IOS)
+
bool PDFWriterImpl::emitSignature()
{
if( !updateObject( m_nSignatureObject ) )
@@ -6358,6 +6370,8 @@ bool PDFWriterImpl::finalizeSignature()
return true;
}
+#endif
+
sal_Int32 PDFWriterImpl::emitInfoDict( )
{
sal_Int32 nObject = createObject();
@@ -7139,6 +7153,7 @@ bool PDFWriterImpl::emit()
// needed for widget tab order
sortWidgets();
+#if !defined(ANDROID) && !defined(IOS)
if( m_aContext.SignPDF )
{
// sign the document
@@ -7146,6 +7161,7 @@ bool PDFWriterImpl::emit()
aSignature.Name = OUString("Signature1");
createControl( aSignature, 0 );
}
+#endif
// emit additional streams
CHECK_RETURN( emitAdditionalStreams() );
@@ -7153,14 +7169,18 @@ bool PDFWriterImpl::emit()
// emit catalog
CHECK_RETURN( emitCatalog() );
+#if !defined(ANDROID) && !defined(IOS)
if (m_nSignatureObject != -1) // if document is signed, emit sigdict
CHECK_RETURN( emitSignature() );
+#endif
// emit trailer
CHECK_RETURN( emitTrailer() );
+#if !defined(ANDROID) && !defined(IOS)
if (m_nSignatureObject != -1) // finalize the signature
CHECK_RETURN( finalizeSignature() );
+#endif
osl_closeFile( m_aFile );
m_bOpen = false;
@@ -12058,6 +12078,7 @@ sal_Int32 PDFWriterImpl::createControl( const PDFWriter::AnyWidget& rControl, sa
createDefaultEditAppearance( rNewWidget, rEdit );
}
+#if !defined(ANDROID) && !defined(IOS)
else if( rControl.getType() == PDFWriter::Signature)
{
const PDFWriter::SignatureWidget& rSig = static_cast<const PDFWriter::SignatureWidget&>(rControl);
@@ -12073,7 +12094,7 @@ sal_Int32 PDFWriterImpl::createControl( const PDFWriter::AnyWidget& rControl, sa
// let's add a fake appearance
rNewWidget.m_aAppearances[ "N" ][ "Standard" ] = new SvMemoryStream();
}
-
+#endif
// if control is a hidden signature, do not convert coordinates since we
// need /Rect [ 0 0 0 0 ]