summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--filter/source/pdf/pdfexport.cxx345
-rw-r--r--filter/source/pdf/pdfexport.hxx54
2 files changed, 174 insertions, 225 deletions
diff --git a/filter/source/pdf/pdfexport.cxx b/filter/source/pdf/pdfexport.cxx
index 0bb6131c582a..a8f3cda62224 100644
--- a/filter/source/pdf/pdfexport.cxx
+++ b/filter/source/pdf/pdfexport.cxx
@@ -82,62 +82,17 @@ PDFExport::PDFExport( const Reference< XComponent >& rxSrcDoc,
mxContext ( xContext ),
mxStatusIndicator ( rxStatusIndicator ),
mxIH ( rxIH ),
- mbUseTaggedPDF ( false ),
- mnPDFTypeSelection ( 0 ),
- mbPDFUACompliance ( false),
- mbExportNotes ( true ),
- mbExportNotesInMargin ( false ),
- mbExportPlaceholders ( false ),
- mbUseReferenceXObject ( false ),
- mbExportNotesPages ( false ),
- mbExportOnlyNotesPages ( false ),
- mbUseTransitionEffects ( true ),
- mbExportBookmarks ( true ),
- mbExportHiddenSlides ( false ),
- mbSinglePageSheets ( false ),
- mnOpenBookmarkLevels ( -1 ),
mbUseLosslessCompression ( false ),
mbReduceImageResolution ( true ),
mbSkipEmptyPages ( true ),
- mbAddStream ( false ),
mnMaxImageResolution ( 300 ),
mnQuality ( 80 ),
- mnFormsFormat ( 0 ),
- mbExportFormFields ( true ),
- mbAllowDuplicateFieldNames ( false ),
mnProgressValue ( 0 ),
mbRemoveTransparencies ( false ),
mbIsRedactMode ( false ),
maWatermarkColor ( COL_LIGHTGREEN ),
- maWatermarkFontName ( "Helvetica" ),
-
- mbHideViewerToolbar ( false ),
- mbHideViewerMenubar ( false ),
- mbHideViewerWindowControls ( false ),
- mbFitWindow ( false ),
- mbCenterWindow ( false ),
- mbOpenInFullScreenMode ( false ),
- mbDisplayPDFDocumentTitle ( true ),
- mnPDFDocumentMode ( 0 ),
- mnPDFDocumentAction ( 0 ),
- mnZoom ( 100 ),
- mnInitialPage ( 1 ),
- mnPDFPageLayout ( 0 ),
-
- mbEncrypt ( false ),
- mbRestrictPermissions ( false ),
- mnPrintAllowed ( 2 ),
- mnChangesAllowed ( 4 ),
- mbCanCopyOrExtract ( true ),
- mbCanExtractForAccessibility( true ),
-
- // #i56629
- mbExportRelativeFsysLinks ( false ),
- mnDefaultLinkAction ( 0 ),
- mbConvertOOoTargetToPDFTarget( false ),
- mbExportBmkToDest ( false ),
- mbSignPDF ( false )
+ maWatermarkFontName ( "Helvetica" )
{
}
@@ -441,6 +396,53 @@ bool PDFExport::Export( const OUString& rFile, const Sequence< PropertyValue >&
if( xRenderable.is() )
{
+ // The defaults
+ bool bUseTaggedPDF = false;
+ sal_Int32 nPDFTypeSelection = 0;
+ bool bPDFUACompliance = false;
+ bool bExportNotes = true;
+ bool bExportNotesInMargin = false;
+ bool bExportNotesPages = false;
+ bool bExportOnlyNotesPages = false;
+ bool bUseTransitionEffects = true;
+ bool bExportFormFields = true;
+ sal_Int32 nFormsFormat = 0;
+ bool bAllowDuplicateFieldNames = false;
+ bool bHideViewerToolbar = false;
+ bool bHideViewerMenubar = false;
+ bool bHideViewerWindowControls = false;
+ bool bFitWindow = false;
+ bool bCenterWindow = false;
+ bool bOpenInFullScreenMode = false;
+ bool bDisplayPDFDocumentTitle = true;
+ sal_Int32 nPDFDocumentMode = 0;
+ sal_Int32 nPDFDocumentAction = 0;
+ sal_Int32 nZoom = 100;
+ sal_Int32 nInitialPage = 1;
+ sal_Int32 nPDFPageLayout = 0;
+ bool bAddStream = false;
+ bool bEncrypt = false;
+ bool bRestrictPermissions = false;
+ sal_Int32 nPrintAllowed = 2;
+ sal_Int32 nChangesAllowed = 4;
+ bool bCanCopyOrExtract = true;
+ bool bCanExtractForAccessibility = true;
+ // #i56629
+ bool bExportRelativeFsysLinks = false;
+ sal_Int32 nDefaultLinkAction = 0;
+ bool bConvertOOoTargetToPDFTarget = false;
+ bool bExportBmkToDest = false;
+ bool bExportBookmarks = true;
+ bool bExportHiddenSlides = false;
+ bool bSinglePageSheets = false;
+ sal_Int32 nOpenBookmarkLevels = -1;
+ bool bSignPDF = false;
+ OUString sSignLocation, sSignReason, sSignContact, sSignPassword;
+ css::uno::Reference<css::security::XCertificate> aSignCertificate;
+ OUString sSignTSA;
+ bool bExportPlaceholders = false;
+ bool bUseReferenceXObject = false;
+
rtl::Reference<VCLXDevice> xDevice(new VCLXDevice);
OUString aPageRange;
Any aSelection;
@@ -456,15 +458,15 @@ bool PDFExport::Export( const OUString& rFile, const Sequence< PropertyValue >&
if ( xInfo.is() )
{
if ( xInfo->supportsService( "com.sun.star.presentation.PresentationDocument" ) )
- aCreator += "Impress";
+ aCreator = u"Impress"_ustr;
else if ( xInfo->supportsService( "com.sun.star.drawing.DrawingDocument" ) )
- aCreator += "Draw";
+ aCreator = u"Draw"_ustr;
else if ( xInfo->supportsService( "com.sun.star.text.TextDocument" ) )
- aCreator += "Writer";
+ aCreator = u"Writer"_ustr;
else if ( xInfo->supportsService( "com.sun.star.sheet.SpreadsheetDocument" ) )
- aCreator += "Calc";
+ aCreator = u"Calc"_ustr;
else if ( xInfo->supportsService( "com.sun.star.formula.FormulaProperties" ) )
- aCreator += "Math";
+ aCreator = u"Math"_ustr;
}
Reference< document::XDocumentPropertiesSupplier > xDocumentPropsSupplier( mxSrcDoc, UNO_QUERY );
@@ -525,56 +527,56 @@ bool PDFExport::Export( const OUString& rFile, const Sequence< PropertyValue >&
else if ( rProp.Name == "MaxImageResolution" )
rProp.Value >>= mnMaxImageResolution;
else if ( rProp.Name == "UseTaggedPDF" )
- rProp.Value >>= mbUseTaggedPDF;
+ rProp.Value >>= bUseTaggedPDF;
else if ( rProp.Name == "SelectPdfVersion" )
- rProp.Value >>= mnPDFTypeSelection;
+ rProp.Value >>= nPDFTypeSelection;
else if ( rProp.Name == "PDFUACompliance" )
- rProp.Value >>= mbPDFUACompliance;
+ rProp.Value >>= bPDFUACompliance;
else if ( rProp.Name == "ExportNotes" )
- rProp.Value >>= mbExportNotes;
+ rProp.Value >>= bExportNotes;
else if ( rProp.Name == "ExportNotesInMargin" )
- rProp.Value >>= mbExportNotesInMargin;
+ rProp.Value >>= bExportNotesInMargin;
else if ( rProp.Name == "ExportNotesPages" )
- rProp.Value >>= mbExportNotesPages;
+ rProp.Value >>= bExportNotesPages;
else if ( rProp.Name == "ExportOnlyNotesPages" )
- rProp.Value >>= mbExportOnlyNotesPages;
+ rProp.Value >>= bExportOnlyNotesPages;
else if ( rProp.Name == "UseTransitionEffects" )
- rProp.Value >>= mbUseTransitionEffects;
+ rProp.Value >>= bUseTransitionEffects;
else if ( rProp.Name == "ExportFormFields" )
- rProp.Value >>= mbExportFormFields;
+ rProp.Value >>= bExportFormFields;
else if ( rProp.Name == "FormsType" )
- rProp.Value >>= mnFormsFormat;
+ rProp.Value >>= nFormsFormat;
else if ( rProp.Name == "AllowDuplicateFieldNames" )
- rProp.Value >>= mbAllowDuplicateFieldNames;
+ rProp.Value >>= bAllowDuplicateFieldNames;
// viewer properties
else if ( rProp.Name == "HideViewerToolbar" )
- rProp.Value >>= mbHideViewerToolbar;
+ rProp.Value >>= bHideViewerToolbar;
else if ( rProp.Name == "HideViewerMenubar" )
- rProp.Value >>= mbHideViewerMenubar;
+ rProp.Value >>= bHideViewerMenubar;
else if ( rProp.Name == "HideViewerWindowControls" )
- rProp.Value >>= mbHideViewerWindowControls;
+ rProp.Value >>= bHideViewerWindowControls;
else if ( rProp.Name == "ResizeWindowToInitialPage" )
- rProp.Value >>= mbFitWindow;
+ rProp.Value >>= bFitWindow;
else if ( rProp.Name == "CenterWindow" )
- rProp.Value >>= mbCenterWindow;
+ rProp.Value >>= bCenterWindow;
else if ( rProp.Name == "OpenInFullScreenMode" )
- rProp.Value >>= mbOpenInFullScreenMode;
+ rProp.Value >>= bOpenInFullScreenMode;
else if ( rProp.Name == "DisplayPDFDocumentTitle" )
- rProp.Value >>= mbDisplayPDFDocumentTitle;
+ rProp.Value >>= bDisplayPDFDocumentTitle;
else if ( rProp.Name == "InitialView" )
- rProp.Value >>= mnPDFDocumentMode;
+ rProp.Value >>= nPDFDocumentMode;
else if ( rProp.Name == "Magnification" )
- rProp.Value >>= mnPDFDocumentAction;
+ rProp.Value >>= nPDFDocumentAction;
else if ( rProp.Name == "Zoom" )
- rProp.Value >>= mnZoom;
+ rProp.Value >>= nZoom;
else if ( rProp.Name == "InitialPage" )
- rProp.Value >>= mnInitialPage;
+ rProp.Value >>= nInitialPage;
else if ( rProp.Name == "PageLayout" )
- rProp.Value >>= mnPDFPageLayout;
+ rProp.Value >>= nPDFPageLayout;
else if ( rProp.Name == "FirstPageOnLeft" )
rProp.Value >>= aContext.FirstPageLeft;
else if ( rProp.Name == "IsAddStream" )
- rProp.Value >>= mbAddStream;
+ rProp.Value >>= bAddStream;
else if ( rProp.Name == "Watermark" )
rProp.Value >>= msWatermark;
else if ( rProp.Name == "WatermarkColor" )
@@ -613,11 +615,11 @@ bool PDFExport::Export( const OUString& rFile, const Sequence< PropertyValue >&
rProp.Value >>= msTiledWatermark;
// now all the security related properties...
else if ( rProp.Name == "EncryptFile" )
- rProp.Value >>= mbEncrypt;
+ rProp.Value >>= bEncrypt;
else if ( rProp.Name == "DocumentOpenPassword" )
rProp.Value >>= aOpenPassword;
else if ( rProp.Name == "RestrictPermissions" )
- rProp.Value >>= mbRestrictPermissions;
+ rProp.Value >>= bRestrictPermissions;
else if ( rProp.Name == "PermissionPassword" )
rProp.Value >>= aPermissionPassword;
else if ( rProp.Name == "PreparedPasswords" )
@@ -625,64 +627,64 @@ bool PDFExport::Export( const OUString& rFile, const Sequence< PropertyValue >&
else if ( rProp.Name == "PreparedPermissionPassword" )
rProp.Value >>= aPreparedPermissionPassword;
else if ( rProp.Name == "Printing" )
- rProp.Value >>= mnPrintAllowed;
+ rProp.Value >>= nPrintAllowed;
else if ( rProp.Name == "Changes" )
- rProp.Value >>= mnChangesAllowed;
+ rProp.Value >>= nChangesAllowed;
else if ( rProp.Name == "EnableCopyingOfContent" )
- rProp.Value >>= mbCanCopyOrExtract;
+ rProp.Value >>= bCanCopyOrExtract;
else if ( rProp.Name == "EnableTextAccessForAccessibilityTools" )
- rProp.Value >>= mbCanExtractForAccessibility;
+ rProp.Value >>= bCanExtractForAccessibility;
// i56629 links extra (relative links and other related stuff)
else if ( rProp.Name == "ExportLinksRelativeFsys" )
- rProp.Value >>= mbExportRelativeFsysLinks;
+ rProp.Value >>= bExportRelativeFsysLinks;
else if ( rProp.Name == "PDFViewSelection" )
- rProp.Value >>= mnDefaultLinkAction;
+ rProp.Value >>= nDefaultLinkAction;
else if ( rProp.Name == "ConvertOOoTargetToPDFTarget" )
- rProp.Value >>= mbConvertOOoTargetToPDFTarget;
+ rProp.Value >>= bConvertOOoTargetToPDFTarget;
else if ( rProp.Name == "ExportBookmarksToPDFDestination" )
- rProp.Value >>= mbExportBmkToDest;
+ rProp.Value >>= bExportBmkToDest;
else if ( rProp.Name == "ExportBookmarks" )
- rProp.Value >>= mbExportBookmarks;
+ rProp.Value >>= bExportBookmarks;
else if ( rProp.Name == "ExportHiddenSlides" )
- rProp.Value >>= mbExportHiddenSlides;
+ rProp.Value >>= bExportHiddenSlides;
else if ( rProp.Name == "SinglePageSheets" )
- rProp.Value >>= mbSinglePageSheets;
+ rProp.Value >>= bSinglePageSheets;
else if ( rProp.Name == "OpenBookmarkLevels" )
- rProp.Value >>= mnOpenBookmarkLevels;
+ rProp.Value >>= nOpenBookmarkLevels;
else if ( rProp.Name == "SignPDF" )
- rProp.Value >>= mbSignPDF;
+ rProp.Value >>= bSignPDF;
else if ( rProp.Name == "SignatureLocation" )
- rProp.Value >>= msSignLocation;
+ rProp.Value >>= sSignLocation;
else if ( rProp.Name == "SignatureReason" )
- rProp.Value >>= msSignReason;
+ rProp.Value >>= sSignReason;
else if ( rProp.Name == "SignatureContactInfo" )
- rProp.Value >>= msSignContact;
+ rProp.Value >>= sSignContact;
else if ( rProp.Name == "SignaturePassword" )
- rProp.Value >>= msSignPassword;
+ rProp.Value >>= sSignPassword;
else if ( rProp.Name == "SignatureCertificate" )
- rProp.Value >>= maSignCertificate;
+ rProp.Value >>= aSignCertificate;
else if (rProp.Name == "SignCertificateSubjectName")
rProp.Value >>= aSignCertificateSubjectName;
else if ( rProp.Name == "SignatureTSA" )
- rProp.Value >>= msSignTSA;
+ rProp.Value >>= sSignTSA;
else if ( rProp.Name == "ExportPlaceholders" )
- rProp.Value >>= mbExportPlaceholders;
+ rProp.Value >>= bExportPlaceholders;
else if ( rProp.Name == "UseReferenceXObject" )
- rProp.Value >>= mbUseReferenceXObject;
+ rProp.Value >>= bUseReferenceXObject;
// Redaction & bitmap related stuff
else if ( rProp.Name == "IsRedactMode" )
rProp.Value >>= mbIsRedactMode;
}
- if (!maSignCertificate.is() && !aSignCertificateSubjectName.isEmpty())
+ if (!aSignCertificate.is() && !aSignCertificateSubjectName.isEmpty())
{
- maSignCertificate = GetCertificateFromSubjectName(aSignCertificateSubjectName);
+ aSignCertificate = GetCertificateFromSubjectName(aSignCertificateSubjectName);
}
aContext.URL = aURL.GetMainURL(INetURLObject::DecodeMechanism::ToIUri);
// set the correct version, depending on user request
- switch( mnPDFTypeSelection )
+ switch( nPDFTypeSelection )
{
default:
case 0:
@@ -690,23 +692,23 @@ bool PDFExport::Export( const OUString& rFile, const Sequence< PropertyValue >&
break;
case 1:
aContext.Version = vcl::PDFWriter::PDFVersion::PDF_A_1;
- mbUseTaggedPDF = true; // force the tagged PDF as well
+ bUseTaggedPDF = true; // force the tagged PDF as well
mbRemoveTransparencies = true; // does not allow transparencies
- mbEncrypt = false; // no encryption
+ bEncrypt = false; // no encryption
xEnc.clear();
break;
case 2:
aContext.Version = vcl::PDFWriter::PDFVersion::PDF_A_2;
- mbUseTaggedPDF = true; // force the tagged PDF as well
+ bUseTaggedPDF = true; // force the tagged PDF as well
mbRemoveTransparencies = false; // does allow transparencies
- mbEncrypt = false; // no encryption
+ bEncrypt = false; // no encryption
xEnc.clear();
break;
case 3:
aContext.Version = vcl::PDFWriter::PDFVersion::PDF_A_3;
- mbUseTaggedPDF = true; // force the tagged PDF as well
+ bUseTaggedPDF = true; // force the tagged PDF as well
mbRemoveTransparencies = false; // does allow transparencies
- mbEncrypt = false; // no encryption
+ bEncrypt = false; // no encryption
xEnc.clear();
break;
case 15:
@@ -721,32 +723,32 @@ bool PDFExport::Export( const OUString& rFile, const Sequence< PropertyValue >&
}
// PDF/UA support
- aContext.UniversalAccessibilityCompliance = mbPDFUACompliance;
- if (mbPDFUACompliance)
+ aContext.UniversalAccessibilityCompliance = bPDFUACompliance;
+ if (bPDFUACompliance)
{
// ISO 14289-1:2014, Clause: 7.1
- mbUseTaggedPDF = true;
+ bUseTaggedPDF = true;
// ISO 14289-1:2014, Clause: 7.16
- mbCanExtractForAccessibility = true;
+ bCanExtractForAccessibility = true;
// ISO 14289-1:2014, Clause: 7.20
- mbUseReferenceXObject = false;
+ bUseReferenceXObject = false;
}
// copy in context the values default in the constructor or set by the FilterData sequence of properties
- aContext.Tagged = mbUseTaggedPDF;
+ aContext.Tagged = bUseTaggedPDF;
// values used in viewer
- aContext.HideViewerToolbar = mbHideViewerToolbar;
- aContext.HideViewerMenubar = mbHideViewerMenubar;
- aContext.HideViewerWindowControls = mbHideViewerWindowControls;
- aContext.FitWindow = mbFitWindow;
- aContext.CenterWindow = mbCenterWindow;
- aContext.OpenInFullScreenMode = mbOpenInFullScreenMode;
- aContext.DisplayPDFDocumentTitle = mbDisplayPDFDocumentTitle;
- aContext.InitialPage = mnInitialPage-1;
- aContext.OpenBookmarkLevels = mnOpenBookmarkLevels;
-
- switch( mnPDFDocumentMode )
+ aContext.HideViewerToolbar = bHideViewerToolbar;
+ aContext.HideViewerMenubar = bHideViewerMenubar;
+ aContext.HideViewerWindowControls = bHideViewerWindowControls;
+ aContext.FitWindow = bFitWindow;
+ aContext.CenterWindow = bCenterWindow;
+ aContext.OpenInFullScreenMode = bOpenInFullScreenMode;
+ aContext.DisplayPDFDocumentTitle = bDisplayPDFDocumentTitle;
+ aContext.InitialPage = nInitialPage-1;
+ aContext.OpenBookmarkLevels = nOpenBookmarkLevels;
+
+ switch( nPDFDocumentMode )
{
default:
case 0:
@@ -759,7 +761,7 @@ bool PDFExport::Export( const OUString& rFile, const Sequence< PropertyValue >&
aContext.PDFDocumentMode = vcl::PDFWriter::UseThumbs;
break;
}
- switch( mnPDFDocumentAction )
+ switch( nPDFDocumentAction )
{
default:
case 0:
@@ -776,11 +778,11 @@ bool PDFExport::Export( const OUString& rFile, const Sequence< PropertyValue >&
break;
case 4:
aContext.PDFDocumentAction = vcl::PDFWriter::ActionZoom;
- aContext.Zoom = mnZoom;
+ aContext.Zoom = nZoom;
break;
}
- switch( mnPDFPageLayout )
+ switch( nPDFPageLayout )
{
default:
case 0:
@@ -804,20 +806,20 @@ bool PDFExport::Export( const OUString& rFile, const Sequence< PropertyValue >&
{
// set check for permission change password
// if not enabled and no permission password, force permissions to default as if PDF where without encryption
- if( mbRestrictPermissions && (xEnc.is() || !aPermissionPassword.isEmpty()) )
+ if( bRestrictPermissions && (xEnc.is() || !aPermissionPassword.isEmpty()) )
{
- mbEncrypt = true; // permission set as desired, done after
+ bEncrypt = true; // permission set as desired, done after
}
else
{
// force permission to default
- mnPrintAllowed = 2 ;
- mnChangesAllowed = 4 ;
- mbCanCopyOrExtract = true;
- mbCanExtractForAccessibility = true ;
+ nPrintAllowed = 2 ;
+ nChangesAllowed = 4 ;
+ bCanCopyOrExtract = true;
+ bCanExtractForAccessibility = true ;
}
- switch( mnPrintAllowed )
+ switch( nPrintAllowed )
{
case 0: // initialized when aContext is build, means no printing
break;
@@ -830,7 +832,7 @@ bool PDFExport::Export( const OUString& rFile, const Sequence< PropertyValue >&
break;
}
- switch( mnChangesAllowed )
+ switch( nChangesAllowed )
{
case 0: // already in struct PDFSecPermissions CTOR
break;
@@ -852,11 +854,11 @@ bool PDFExport::Export( const OUString& rFile, const Sequence< PropertyValue >&
break;
}
- aContext.Encryption.CanCopyOrExtract = mbCanCopyOrExtract;
- aContext.Encryption.CanExtractForAccessibility = mbCanExtractForAccessibility;
- if( mbEncrypt && ! xEnc.is() )
+ aContext.Encryption.CanCopyOrExtract = bCanCopyOrExtract;
+ aContext.Encryption.CanExtractForAccessibility = bCanExtractForAccessibility;
+ if( bEncrypt && ! xEnc.is() )
xEnc = vcl::PDFWriter::InitEncryption( aPermissionPassword, aOpenPassword );
- if( mbEncrypt && !aPermissionPassword.isEmpty() && ! aPreparedPermissionPassword.hasElements() )
+ if( bEncrypt && !aPermissionPassword.isEmpty() && ! aPreparedPermissionPassword.hasElements() )
aPreparedPermissionPassword = comphelper::OStorageHelper::CreatePackageEncryptionData( aPermissionPassword );
}
// after this point we don't need the legacy clear passwords anymore
@@ -869,7 +871,7 @@ bool PDFExport::Export( const OUString& rFile, const Sequence< PropertyValue >&
* FIXME: the entries are only implicitly defined by the resource file. Should there
* ever be an additional form submit format this could get invalid.
*/
- switch( mnFormsFormat )
+ switch( nFormsFormat )
{
case 1:
aContext.SubmitFormat = vcl::PDFWriter::PDF;
@@ -885,7 +887,7 @@ bool PDFExport::Export( const OUString& rFile, const Sequence< PropertyValue >&
aContext.SubmitFormat = vcl::PDFWriter::FDF;
break;
}
- aContext.AllowDuplicateFieldNames = mbAllowDuplicateFieldNames;
+ aContext.AllowDuplicateFieldNames = bAllowDuplicateFieldNames;
// get model
Reference< frame::XModel > xModel( mxSrcDoc, UNO_QUERY );
@@ -894,9 +896,9 @@ bool PDFExport::Export( const OUString& rFile, const Sequence< PropertyValue >&
// set the base URL of the file: then base URL
aContext.BaseURL = xModel->getURL();
// relative link option is private to PDF Export filter and limited to local filesystem only
- aContext.RelFsys = mbExportRelativeFsysLinks;
+ aContext.RelFsys = bExportRelativeFsysLinks;
// determine the default action for PDF links
- switch( mnDefaultLinkAction )
+ switch( nDefaultLinkAction )
{
default:
// default: URI, without fragment conversion (the bookmark in PDF may not work)
@@ -913,7 +915,7 @@ bool PDFExport::Export( const OUString& rFile, const Sequence< PropertyValue >&
aContext.DefaultLinkAction = vcl::PDFWriter::URIActionDestination;
break;
}
- aContext.ConvertOOoTargetToPDFTarget = mbConvertOOoTargetToPDFTarget;
+ aContext.ConvertOOoTargetToPDFTarget = bConvertOOoTargetToPDFTarget;
// check for Link Launch action, not allowed on PDF/A-1
// this code chunk checks when the filter is called from scripting
@@ -927,14 +929,14 @@ bool PDFExport::Export( const OUString& rFile, const Sequence< PropertyValue >&
}
}
- aContext.SignPDF = mbSignPDF;
- aContext.SignLocation = msSignLocation;
- aContext.SignContact = msSignContact;
- aContext.SignReason = msSignReason;
- aContext.SignPassword = msSignPassword;
- aContext.SignCertificate = maSignCertificate;
- aContext.SignTSA = msSignTSA;
- aContext.UseReferenceXObject = mbUseReferenceXObject;
+ aContext.SignPDF = bSignPDF;
+ aContext.SignLocation = sSignLocation;
+ aContext.SignContact = sSignContact;
+ aContext.SignReason = sSignReason;
+ aContext.SignPassword = sSignPassword;
+ aContext.SignCertificate = aSignCertificate;
+ aContext.SignTSA = sSignTSA;
+ aContext.UseReferenceXObject = bUseReferenceXObject;
// all context data set, time to create the printing device
vcl::PDFWriter aPDFWriter( aContext, xEnc );
@@ -943,7 +945,7 @@ bool PDFExport::Export( const OUString& rFile, const Sequence< PropertyValue >&
DBG_ASSERT( pOut, "PDFExport::Export: no reference device" );
xDevice->SetOutputDevice(pOut);
- if( mbAddStream )
+ if( bAddStream )
{
// export stream
// get mimetype
@@ -966,18 +968,18 @@ bool PDFExport::Export( const OUString& rFile, const Sequence< PropertyValue >&
DBG_ASSERT( pOut->GetExtOutDevData() == nullptr, "PDFExport: ExtOutDevData already set!!!" );
vcl::PDFExtOutDevData aPDFExtOutDevData( *pOut );
pOut->SetExtOutDevData( &aPDFExtOutDevData );
- aPDFExtOutDevData.SetIsExportNotes( mbExportNotes );
- aPDFExtOutDevData.SetIsExportNotesInMargin( mbExportNotesInMargin );
- aPDFExtOutDevData.SetIsExportTaggedPDF( mbUseTaggedPDF );
- aPDFExtOutDevData.SetIsExportTransitionEffects( mbUseTransitionEffects );
- aPDFExtOutDevData.SetIsExportFormFields( mbExportFormFields );
- aPDFExtOutDevData.SetIsExportBookmarks( mbExportBookmarks );
- aPDFExtOutDevData.SetIsExportHiddenSlides( mbExportHiddenSlides );
- aPDFExtOutDevData.SetIsSinglePageSheets( mbSinglePageSheets );
+ aPDFExtOutDevData.SetIsExportNotes( bExportNotes );
+ aPDFExtOutDevData.SetIsExportNotesInMargin( bExportNotesInMargin );
+ aPDFExtOutDevData.SetIsExportTaggedPDF( bUseTaggedPDF );
+ aPDFExtOutDevData.SetIsExportTransitionEffects( bUseTransitionEffects );
+ aPDFExtOutDevData.SetIsExportFormFields( bExportFormFields );
+ aPDFExtOutDevData.SetIsExportBookmarks( bExportBookmarks );
+ aPDFExtOutDevData.SetIsExportHiddenSlides( bExportHiddenSlides );
+ aPDFExtOutDevData.SetIsSinglePageSheets( bSinglePageSheets );
aPDFExtOutDevData.SetIsLosslessCompression( mbUseLosslessCompression );
aPDFExtOutDevData.SetCompressionQuality( mnQuality );
aPDFExtOutDevData.SetIsReduceImageResolution( mbReduceImageResolution );
- aPDFExtOutDevData.SetIsExportNamedDestinations( mbExportBmkToDest );
+ aPDFExtOutDevData.SetIsExportNamedDestinations( bExportBmkToDest );
Sequence< PropertyValue > aRenderOptions{
comphelper::makePropertyValue("RenderDevice", uno::Reference<awt::XDevice>(xDevice)),
@@ -986,9 +988,9 @@ bool PDFExport::Export( const OUString& rFile, const Sequence< PropertyValue >&
comphelper::makePropertyValue("IsLastPage", false),
comphelper::makePropertyValue("IsSkipEmptyPages", mbSkipEmptyPages),
comphelper::makePropertyValue("PageRange", aPageRange),
- comphelper::makePropertyValue("ExportPlaceholders", mbExportPlaceholders),
- comphelper::makePropertyValue("SinglePageSheets", mbSinglePageSheets),
- comphelper::makePropertyValue("ExportNotesInMargin", mbExportNotesInMargin)
+ comphelper::makePropertyValue("ExportPlaceholders", bExportPlaceholders),
+ comphelper::makePropertyValue("SinglePageSheets", bSinglePageSheets),
+ comphelper::makePropertyValue("ExportNotesInMargin", bExportNotesInMargin)
};
Any& rExportNotesValue = aRenderOptions.getArray()[ 1 ].Value;
@@ -997,7 +999,6 @@ bool PDFExport::Export( const OUString& rFile, const Sequence< PropertyValue >&
aSelection = Any();
aSelection <<= mxSrcDoc;
}
- bool bExportNotesPages = false;
bool bReChangeToNormalView = false;
static constexpr OUString sShowOnlineLayout( u"ShowOnlineLayout"_ustr );
bool bReHideWhitespace = false;
@@ -1032,15 +1033,17 @@ bool PDFExport::Export( const OUString& rFile, const Sequence< PropertyValue >&
const sal_Int32 nPageCount = xRenderable->getRendererCount( aSelection, aRenderOptions );
- if ( mbExportNotesPages && aCreator == "Impress" )
+ if ( bExportNotesPages && aCreator == "Impress" )
{
uno::Reference< drawing::XShapes > xShapes; // do not allow to export notes when exporting a selection
- if ( ! ( aSelection >>= xShapes ) )
- bExportNotesPages = true;
+ if ( aSelection >>= xShapes )
+ bExportNotesPages = false;
}
- const bool bExportPages = !bExportNotesPages || !mbExportOnlyNotesPages;
+ else
+ bExportNotesPages = false;
+ const bool bExportPages = !bExportNotesPages || !bExportOnlyNotesPages;
- if( aPageRange.isEmpty() || mbSinglePageSheets)
+ if( aPageRange.isEmpty() || bSinglePageSheets)
{
aPageRange = OUString::number( 1 ) + "-" + OUString::number(nPageCount );
}
diff --git a/filter/source/pdf/pdfexport.hxx b/filter/source/pdf/pdfexport.hxx
index 5dbe15e36846..8bfd1c363038 100644
--- a/filter/source/pdf/pdfexport.hxx
+++ b/filter/source/pdf/pdfexport.hxx
@@ -44,30 +44,11 @@ private:
css::uno::Reference< css::task::XStatusIndicator > mxStatusIndicator;
css::uno::Reference< css::task::XInteractionHandler > mxIH;
- bool mbUseTaggedPDF;
- sal_Int32 mnPDFTypeSelection;
- bool mbPDFUACompliance;
- bool mbExportNotes;
- bool mbExportNotesInMargin;
- bool mbExportPlaceholders;
- bool mbUseReferenceXObject;
- bool mbExportNotesPages;
- bool mbExportOnlyNotesPages;
- bool mbUseTransitionEffects;
- bool mbExportBookmarks;
- bool mbExportHiddenSlides;
- bool mbSinglePageSheets;
- sal_Int32 mnOpenBookmarkLevels;
-
bool mbUseLosslessCompression;
bool mbReduceImageResolution;
bool mbSkipEmptyPages;
- bool mbAddStream;
sal_Int32 mnMaxImageResolution;
sal_Int32 mnQuality;
- sal_Int32 mnFormsFormat;
- bool mbExportFormFields;
- bool mbAllowDuplicateFieldNames;
sal_Int32 mnProgressValue;
bool mbRemoveTransparencies;
@@ -80,44 +61,9 @@ private:
std::optional<Degree10> moWatermarkRotateAngle;
OUString msTiledWatermark;
- // these variable are here only to have a location in filter/pdf to set the default
- // to be used by the macro (when the FilterData are set by the macro itself)
- bool mbHideViewerToolbar;
- bool mbHideViewerMenubar;
- bool mbHideViewerWindowControls;
- bool mbFitWindow;
- bool mbCenterWindow;
- bool mbOpenInFullScreenMode;
- bool mbDisplayPDFDocumentTitle;
- sal_Int32 mnPDFDocumentMode;
- sal_Int32 mnPDFDocumentAction;
- sal_Int32 mnZoom;
- sal_Int32 mnInitialPage;
- sal_Int32 mnPDFPageLayout;
-
- bool mbEncrypt;
- bool mbRestrictPermissions;
- sal_Int32 mnPrintAllowed;
- sal_Int32 mnChangesAllowed;
- bool mbCanCopyOrExtract;
- bool mbCanExtractForAccessibility;
-
- // #i56629
- bool mbExportRelativeFsysLinks;
- sal_Int32 mnDefaultLinkAction;
- bool mbConvertOOoTargetToPDFTarget;
- bool mbExportBmkToDest;
void ImplExportPage( vcl::PDFWriter& rWriter, vcl::PDFExtOutDevData& rPDFExtOutDevData,
const GDIMetaFile& rMtf );
- bool mbSignPDF;
- OUString msSignLocation;
- OUString msSignContact;
- OUString msSignReason;
- OUString msSignPassword;
- css::uno::Reference< css::security::XCertificate > maSignCertificate;
- OUString msSignTSA;
-
void ImplWriteWatermark( vcl::PDFWriter& rWriter, const Size& rPageSize );
void ImplWriteTiledWatermark( vcl::PDFWriter& rWriter, const Size& rPageSize );
css::uno::Reference<css::security::XCertificate> GetCertificateFromSubjectName(const std::u16string_view& rSubjectName) const;