LibreOffice Module vcl (master) 1
Public Member Functions | Private Attributes | List of all members
vcl::PDFExtOutDevData Class Referencefinal

#include <pdfextoutdevdata.hxx>

Inheritance diagram for vcl::PDFExtOutDevData:
[legend]
Collaboration diagram for vcl::PDFExtOutDevData:
[legend]

Public Member Functions

 PDFExtOutDevData (const OutputDevice &rOutDev)
 
virtual ~PDFExtOutDevData () override
 
bool PlaySyncPageAct (PDFWriter &rWriter, sal_uInt32 &rCurGDIMtfAction, const GDIMetaFile &rMtf)
 
void ResetSyncData ()
 
void PlayGlobalActions (PDFWriter &rWriter)
 
bool GetIsExportNotes () const
 
void SetIsExportNotes (const bool bExportNotes)
 
bool GetIsExportNotesInMargin () const
 
void SetIsExportNotesInMargin (const bool bExportNotesInMargin)
 
bool GetIsExportNotesPages () const
 
void SetIsExportNotesPages (const bool bExportNotesPages)
 
bool GetIsExportTaggedPDF () const
 
void SetIsExportTaggedPDF (const bool bTaggedPDF)
 
bool GetIsExportTransitionEffects () const
 
void SetIsExportTransitionEffects (const bool bTransitionalEffects)
 
bool GetIsExportFormFields () const
 
void SetIsExportFormFields (const bool bExportFormFields)
 
bool GetIsExportBookmarks () const
 
void SetIsExportBookmarks (const bool bExportBookmarks)
 
bool GetIsExportHiddenSlides () const
 
void SetIsExportHiddenSlides (const bool bExportHiddenSlides)
 
void SetIsSinglePageSheets (const bool bSinglePageSheets)
 
bool GetIsExportNamedDestinations () const
 
void SetIsExportNamedDestinations (const bool bExportNDests)
 
sal_Int32 GetCurrentPageNumber () const
 
void SetCurrentPageNumber (const sal_Int32 nPage)
 
bool GetIsLosslessCompression () const
 
void SetIsLosslessCompression (const bool bLosslessCompression)
 
void SetCompressionQuality (const sal_Int32 nQuality)
 
bool GetIsReduceImageResolution () const
 
void SetIsReduceImageResolution (const bool bReduceImageResolution)
 
const css::lang::Locale & GetDocumentLocale () const
 
void SetDocumentLocale (const css::lang::Locale &rLoc)
 
std::vector< PDFExtOutDevBookmarkEntry > & GetBookmarks ()
 
const std::vector< OUString > & GetChapterNames () const
 
const GraphicGetCurrentGraphic () const
 
void BeginGroup ()
 Start a new group of render output. More...
 
void EndGroup (const Graphic &rGraphic, sal_uInt8 nTransparency, const tools::Rectangle &rOutputRect, const tools::Rectangle &rVisibleOutputRect)
 End render output. More...
 
bool HasAdequateCompression (const Graphic &rGraphic, const tools::Rectangle &rOutputRect, const tools::Rectangle &rVisibleOutputRect) const
 Detect if stream is compressed enough to avoid de-compress / scale & re-compress. More...
 
sal_Int32 CreateNamedDest (const OUString &sDestName, const tools::Rectangle &rRect, sal_Int32 nPageNr=-1)
 Create a new named destination to be used in a link to this document from another PDF document (see PDF spec 1.4, 8.2.1) More...
 
sal_Int32 RegisterDest ()
 registers a destination for which a destination ID needs to be known immediately, instead of later on setting it via SetLinkDest. More...
 
void DescribeRegisteredDest (sal_Int32 nDestId, const tools::Rectangle &rRect, sal_Int32 nPageNr, PDFWriter::DestAreaType eType=PDFWriter::DestAreaType::XYZ)
 provides detailed information about a destination range which previously has been registered using RegisterDest. More...
 
sal_Int32 CreateDest (const tools::Rectangle &rRect, sal_Int32 nPageNr=-1, PDFWriter::DestAreaType eType=PDFWriter::DestAreaType::XYZ)
 Create a new destination to be used in a link. More...
 
sal_Int32 CreateLink (const tools::Rectangle &rRect, OUString const &rAltText, sal_Int32 nPageNr=-1)
 Create a new link on a page. More...
 
sal_Int32 CreateScreen (const tools::Rectangle &rRect, OUString const &rAltText, OUString const &rMimeType, sal_Int32 nPageNr, SdrObject const *pObj)
 Create a Screen annotation. More...
 
::std::vector< sal_Int32 > const & GetScreenAnnotIds (SdrObject const *pObj) const
 Get back the annotations created for one SdrObject. More...
 
void SetLinkDest (sal_Int32 nLinkId, sal_Int32 nDestId)
 Set the destination for a link. More...
 
void SetLinkURL (sal_Int32 nLinkId, const OUString &rURL)
 Set the URL for a link. More...
 
void SetScreenURL (sal_Int32 nScreenId, const OUString &rURL)
 Set URL for a linked Screen annotation. More...
 
void SetScreenStream (sal_Int32 nScreenId, const OUString &rURL)
 Set URL for an embedded Screen annotation. More...
 
sal_Int32 CreateOutlineItem (sal_Int32 nParent, const OUString &rText, sal_Int32 nDestID)
 Create a new outline item. More...
 
void CreateNote (const tools::Rectangle &rRect, const PDFNote &rNote, sal_Int32 nPageNr=-1)
 Create a new note on a page. More...
 
sal_Int32 WrapBeginStructureElement (PDFWriter::StructElement eType, const OUString &rAlias=OUString())
 begin a new logical structure element More...
 
sal_Int32 EnsureStructureElement (void const *key)
 
void InitStructureElement (sal_Int32 id, PDFWriter::StructElement eType, const OUString &rAlias)
 
void BeginStructureElement (sal_Int32 id)
 
void EndStructureElement ()
 end a logical structure element More...
 
bool SetCurrentStructureElement (sal_Int32 nElement)
 set the current structure element More...
 
sal_Int32 GetCurrentStructureElement () const
 get the current structure element id More...
 
void SetStructureAttribute (PDFWriter::StructAttribute eAttr, PDFWriter::StructAttributeValue eVal)
 set a structure attribute on the current structural element More...
 
void SetStructureAttributeNumerical (PDFWriter::StructAttribute eAttr, sal_Int32 nValue)
 set a structure attribute on the current structural element More...
 
void SetStructureBoundingBox (const tools::Rectangle &rRect)
 set the bounding box of a structural element More...
 
void SetStructureAnnotIds (::std::vector< sal_Int32 > const &rAnnotIds)
 set the annotations that should be referenced as children of the current structural element. More...
 
void SetActualText (const OUString &rText)
 set the ActualText attribute of a structural element More...
 
void SetAlternateText (const OUString &rText)
 set the Alt attribute of a strutural element More...
 
void SetPageTransition (PDFWriter::PageTransition eType, sal_uInt32 nMilliSec)
 Sets the transitional effect to be applied when the current page gets shown. More...
 
void CreateControl (const PDFWriter::AnyWidget &rControlType)
 create a new form control More...
 
- Public Member Functions inherited from vcl::ExtOutDevData
virtual ~ExtOutDevData ()
 

Private Attributes

const OutputDevicemrOutDev
 
bool mbTaggedPDF
 
bool mbExportNotes
 
bool mbExportNotesInMargin
 
bool mbExportNotesPages
 
bool mbTransitionEffects
 
bool mbUseLosslessCompression
 
bool mbReduceImageResolution
 
bool mbExportFormFields
 
bool mbExportBookmarks
 
bool mbExportHiddenSlides
 
bool mbSinglePageSheets
 
bool mbExportNDests
 
sal_Int32 mnPage
 
sal_Int32 mnCompressionQuality
 
css::lang::Locale maDocLocale
 
std::unique_ptr< PageSyncDatampPageSyncData
 
std::unique_ptr< GlobalSyncDatampGlobalSyncData
 
std::vector< PDFExtOutDevBookmarkEntrymaBookmarks
 
std::vector< OUString > maChapterNames
 
::std::map< SdrObject const *, ::std::vector< sal_Int32 > > m_ScreenAnnotations
 

Detailed Description

Definition at line 70 of file pdfextoutdevdata.hxx.

Constructor & Destructor Documentation

◆ PDFExtOutDevData()

vcl::PDFExtOutDevData::PDFExtOutDevData ( const OutputDevice rOutDev)

Definition at line 558 of file pdfextoutdevdata.cxx.

References mpGlobalSyncData, and mpPageSyncData.

◆ ~PDFExtOutDevData()

vcl::PDFExtOutDevData::~PDFExtOutDevData ( )
overridevirtual

Definition at line 579 of file pdfextoutdevdata.cxx.

References mpGlobalSyncData, and mpPageSyncData.

Member Function Documentation

◆ BeginGroup()

void vcl::PDFExtOutDevData::BeginGroup ( )

Start a new group of render output.

Use this method to group render output.

Definition at line 918 of file pdfextoutdevdata.cxx.

References mpPageSyncData, and mrOutDev.

◆ BeginStructureElement()

void vcl::PDFExtOutDevData::BeginStructureElement ( sal_Int32  id)

Definition at line 833 of file pdfextoutdevdata.cxx.

References mpGlobalSyncData, mpPageSyncData, and mrOutDev.

Referenced by WrapBeginStructureElement().

◆ CreateControl()

void vcl::PDFExtOutDevData::CreateControl ( const PDFWriter::AnyWidget rControlType)

create a new form control

This function creates a new form control in the PDF and sets its various properties. Do not pass an actual AnyWidget as rControlType will be cast to the type described by the type member.

Parameters
rControlTypea descendant of AnyWidget determining the control's properties

Definition at line 909 of file pdfextoutdevdata.cxx.

References vcl::PDFWriter::AnyWidget::Clone(), mpGlobalSyncData, mpPageSyncData, and mrOutDev.

◆ CreateDest()

sal_Int32 vcl::PDFExtOutDevData::CreateDest ( const tools::Rectangle rRect,
sal_Int32  nPageNr = -1,
PDFWriter::DestAreaType  eType = PDFWriter::DestAreaType::XYZ 
)

Create a new destination to be used in a link.

Parameters
rRecttarget rectangle on page to be displayed if dest is jumped to
nPageNrnumber of page the dest is on (as returned by NewPage) or -1 in which case the current page is used
eTypewhat dest type to use
Returns
the destination id (to be used in SetLinkDest) or -1 if page id does not exist

Definition at line 697 of file pdfextoutdevdata.cxx.

References eType, OutputDevice::GetMapMode(), mnPage, mpGlobalSyncData, and mrOutDev.

◆ CreateLink()

sal_Int32 vcl::PDFExtOutDevData::CreateLink ( const tools::Rectangle rRect,
OUString const &  rAltText,
sal_Int32  nPageNr = -1 
)

Create a new link on a page.

Parameters
rRectactive rectangle of the link (that is the area that has to be hit to activate the link)
nPageNrnumber of page the link is on (as returned by NewPage) or -1 in which case the current page is used
rAltTextAlt text for the link
Returns
the link id (to be used in SetLinkDest, SetLinkURL) or -1 if page id does not exist

Definition at line 706 of file pdfextoutdevdata.cxx.

References OutputDevice::GetMapMode(), mnPage, mpGlobalSyncData, and mrOutDev.

◆ CreateNamedDest()

sal_Int32 vcl::PDFExtOutDevData::CreateNamedDest ( const OUString &  sDestName,
const tools::Rectangle rRect,
sal_Int32  nPageNr = -1 
)

Create a new named destination to be used in a link to this document from another PDF document (see PDF spec 1.4, 8.2.1)

Parameters
sDestNamethe name this destination will be addressed with from others PDF document
rRecttarget rectangle on page to be displayed if dest is jumped to
nPageNrnumber of page the dest is on (as returned by NewPage) or -1 in which case the current page is used
Returns
the destination id (to be used in SetLinkDest) or -1 if page id does not exist

Definition at line 667 of file pdfextoutdevdata.cxx.

References OutputDevice::GetMapMode(), mnPage, mpGlobalSyncData, mrOutDev, and vcl::PDFWriter::XYZ.

◆ CreateNote()

void vcl::PDFExtOutDevData::CreateNote ( const tools::Rectangle rRect,
const PDFNote rNote,
sal_Int32  nPageNr = -1 
)

Create a new note on a page.

Parameters
rRectactive rectangle of the note (that is the area that has to be hit to popup the annotation)
rNotespecifies the contents of the note
nPageNrnumber of page the note is on (as returned by NewPage) or -1 in which case the current page is used

Definition at line 780 of file pdfextoutdevdata.cxx.

References OutputDevice::GetMapMode(), mnPage, mpGlobalSyncData, and mrOutDev.

◆ CreateOutlineItem()

sal_Int32 vcl::PDFExtOutDevData::CreateOutlineItem ( sal_Int32  nParent,
const OUString &  rText,
sal_Int32  nDestID 
)

Create a new outline item.

Parameters
nParentdeclares the parent of the new item in the outline hierarchy. An invalid value will result in a new toplevel item.
rTextsets the title text of the item
nDestIDdeclares which Dest (created with CreateDest) the outline item will point to
Returns
the outline item id of the new item

Definition at line 768 of file pdfextoutdevdata.cxx.

References maChapterNames, and mpGlobalSyncData.

◆ CreateScreen()

sal_Int32 vcl::PDFExtOutDevData::CreateScreen ( const tools::Rectangle rRect,
OUString const &  rAltText,
OUString const &  rMimeType,
sal_Int32  nPageNr,
SdrObject const *  pObj 
)

Create a Screen annotation.

Definition at line 716 of file pdfextoutdevdata.cxx.

References OutputDevice::GetMapMode(), m_ScreenAnnotations, mpGlobalSyncData, and mrOutDev.

◆ DescribeRegisteredDest()

void vcl::PDFExtOutDevData::DescribeRegisteredDest ( sal_Int32  nDestId,
const tools::Rectangle rRect,
sal_Int32  nPageNr,
PDFWriter::DestAreaType  eType = PDFWriter::DestAreaType::XYZ 
)

provides detailed information about a destination range which previously has been registered using RegisterDest.

Definition at line 687 of file pdfextoutdevdata.cxx.

References eType, OutputDevice::GetMapMode(), mnPage, mpGlobalSyncData, and mrOutDev.

◆ EndGroup()

void vcl::PDFExtOutDevData::EndGroup ( const Graphic rGraphic,
sal_uInt8  nTransparency,
const tools::Rectangle rOutputRect,
const tools::Rectangle rVisibleOutputRect 
)

End render output.

This method ends grouped render output, that can be represented by a GfxLink. This is typically used for external graphic files, such as JPEGs, EPS files etc. The BeginGroup/EndGroup calls must exactly enclose the relevant OutputDevice calls issued to render the graphic the normal way.

Parameters
rGraphicThe link to the original graphic
nTransparencyEight bit transparency value, with 0 denoting full opacity, and 255 full transparency.
rOutputRectThe output rectangle of the graphic.
rVisibleOutputRectThe visible part of the output. This might be less than rOutputRect, e.g. for cropped graphics.

Definition at line 923 of file pdfextoutdevdata.cxx.

References mpPageSyncData, and mrOutDev.

◆ EndStructureElement()

void vcl::PDFExtOutDevData::EndStructureElement ( )

end a logical structure element

See also
BeginStructureElement

Definition at line 849 of file pdfextoutdevdata.cxx.

References mpGlobalSyncData, mpPageSyncData, and mrOutDev.

◆ EnsureStructureElement()

sal_Int32 vcl::PDFExtOutDevData::EnsureStructureElement ( void const *  key)

Definition at line 799 of file pdfextoutdevdata.cxx.

References mpGlobalSyncData, mpPageSyncData, and mrOutDev.

Referenced by WrapBeginStructureElement().

◆ GetBookmarks()

std::vector< PDFExtOutDevBookmarkEntry > & vcl::PDFExtOutDevData::GetBookmarks ( )
inline

Definition at line 153 of file pdfextoutdevdata.hxx.

Referenced by toolkitform::describePDFControl().

◆ GetChapterNames()

const std::vector< OUString > & vcl::PDFExtOutDevData::GetChapterNames ( ) const
inline

Definition at line 154 of file pdfextoutdevdata.hxx.

◆ GetCurrentGraphic()

const Graphic & vcl::PDFExtOutDevData::GetCurrentGraphic ( ) const

Definition at line 585 of file pdfextoutdevdata.cxx.

References mpPageSyncData.

Referenced by vcl::PDFWriterImpl::playMetafile().

◆ GetCurrentPageNumber()

sal_Int32 vcl::PDFExtOutDevData::GetCurrentPageNumber ( ) const
inline

Definition at line 139 of file pdfextoutdevdata.hxx.

◆ GetCurrentStructureElement()

sal_Int32 vcl::PDFExtOutDevData::GetCurrentStructureElement ( ) const

get the current structure element id

Returns
the id of the current structure element

Definition at line 866 of file pdfextoutdevdata.cxx.

References mpGlobalSyncData.

◆ GetDocumentLocale()

const css::lang::Locale & vcl::PDFExtOutDevData::GetDocumentLocale ( ) const
inline

Definition at line 150 of file pdfextoutdevdata.hxx.

◆ GetIsExportBookmarks()

bool vcl::PDFExtOutDevData::GetIsExportBookmarks ( ) const
inline

Definition at line 127 of file pdfextoutdevdata.hxx.

◆ GetIsExportFormFields()

bool vcl::PDFExtOutDevData::GetIsExportFormFields ( ) const
inline

Definition at line 124 of file pdfextoutdevdata.hxx.

◆ GetIsExportHiddenSlides()

bool vcl::PDFExtOutDevData::GetIsExportHiddenSlides ( ) const
inline

Definition at line 130 of file pdfextoutdevdata.hxx.

◆ GetIsExportNamedDestinations()

bool vcl::PDFExtOutDevData::GetIsExportNamedDestinations ( ) const
inline

Definition at line 135 of file pdfextoutdevdata.hxx.

◆ GetIsExportNotes()

bool vcl::PDFExtOutDevData::GetIsExportNotes ( ) const
inline

Definition at line 109 of file pdfextoutdevdata.hxx.

◆ GetIsExportNotesInMargin()

bool vcl::PDFExtOutDevData::GetIsExportNotesInMargin ( ) const
inline

Definition at line 112 of file pdfextoutdevdata.hxx.

◆ GetIsExportNotesPages()

bool vcl::PDFExtOutDevData::GetIsExportNotesPages ( ) const
inline

Definition at line 115 of file pdfextoutdevdata.hxx.

◆ GetIsExportTaggedPDF()

bool vcl::PDFExtOutDevData::GetIsExportTaggedPDF ( ) const
inline

Definition at line 118 of file pdfextoutdevdata.hxx.

◆ GetIsExportTransitionEffects()

bool vcl::PDFExtOutDevData::GetIsExportTransitionEffects ( ) const
inline

Definition at line 121 of file pdfextoutdevdata.hxx.

◆ GetIsLosslessCompression()

bool vcl::PDFExtOutDevData::GetIsLosslessCompression ( ) const
inline

Definition at line 142 of file pdfextoutdevdata.hxx.

Referenced by HasAdequateCompression().

◆ GetIsReduceImageResolution()

bool vcl::PDFExtOutDevData::GetIsReduceImageResolution ( ) const
inline

Definition at line 147 of file pdfextoutdevdata.hxx.

Referenced by HasAdequateCompression().

◆ GetScreenAnnotIds()

std::vector< sal_Int32 > const & vcl::PDFExtOutDevData::GetScreenAnnotIds ( SdrObject const *  pObj) const

Get back the annotations created for one SdrObject.

Definition at line 731 of file pdfextoutdevdata.cxx.

References m_ScreenAnnotations.

◆ HasAdequateCompression()

bool vcl::PDFExtOutDevData::HasAdequateCompression ( const Graphic rGraphic,
const tools::Rectangle rOutputRect,
const tools::Rectangle rVisibleOutputRect 
) const

◆ InitStructureElement()

void vcl::PDFExtOutDevData::InitStructureElement ( sal_Int32  id,
PDFWriter::StructElement  eType,
const OUString &  rAlias 
)

Definition at line 824 of file pdfextoutdevdata.cxx.

References eType, mpPageSyncData, and mrOutDev.

Referenced by WrapBeginStructureElement().

◆ PlayGlobalActions()

void vcl::PDFExtOutDevData::PlayGlobalActions ( PDFWriter rWriter)

Definition at line 658 of file pdfextoutdevdata.cxx.

References mpGlobalSyncData.

◆ PlaySyncPageAct()

bool vcl::PDFExtOutDevData::PlaySyncPageAct ( PDFWriter rWriter,
sal_uInt32 &  rCurGDIMtfAction,
const GDIMetaFile rMtf 
)

Definition at line 654 of file pdfextoutdevdata.cxx.

References mpPageSyncData.

Referenced by vcl::PDFWriterImpl::playMetafile().

◆ RegisterDest()

sal_Int32 vcl::PDFExtOutDevData::RegisterDest ( )

registers a destination for which a destination ID needs to be known immediately, instead of later on setting it via SetLinkDest.

This is used in contexts where a destination is referenced by means other than a link.

Later in the export process, a call to DescribeRegisteredDest must be made, providing the information about the destination.

Returns
the unique Id of the destination

Definition at line 679 of file pdfextoutdevdata.cxx.

References mpGlobalSyncData.

Referenced by toolkitform::describePDFControl().

◆ ResetSyncData()

void vcl::PDFExtOutDevData::ResetSyncData ( )

Definition at line 650 of file pdfextoutdevdata.cxx.

References mpGlobalSyncData, and mpPageSyncData.

◆ SetActualText()

void vcl::PDFExtOutDevData::SetActualText ( const OUString &  rText)

set the ActualText attribute of a structural element

ActualText contains the Unicode text without layout artifacts that is shown by a structural element. For example if a line is ended prematurely with a break in a word and continued on the next line (e.g. "happen-<newline>stance") the corresponding ActualText would contain the unbroken line (e.g. "happenstance").

Parameters
rTextcontains the complete logical text the structural element displays.

Definition at line 898 of file pdfextoutdevdata.cxx.

References mpPageSyncData, and mrOutDev.

◆ SetAlternateText()

void vcl::PDFExtOutDevData::SetAlternateText ( const OUString &  rText)

set the Alt attribute of a strutural element

Alt is s replacement text describing the contents of a structural element. This is mainly used by accessibility applications; e.g. a screen reader would read the Alt replacement text for an image to a visually impaired user.

Parameters
rTextcontains the replacement text for the structural element

Definition at line 903 of file pdfextoutdevdata.cxx.

References mpPageSyncData, and mrOutDev.

◆ SetCompressionQuality()

void vcl::PDFExtOutDevData::SetCompressionQuality ( const sal_Int32  nQuality)

Definition at line 602 of file pdfextoutdevdata.cxx.

References mnCompressionQuality.

◆ SetCurrentPageNumber()

void vcl::PDFExtOutDevData::SetCurrentPageNumber ( const sal_Int32  nPage)

Definition at line 594 of file pdfextoutdevdata.cxx.

References mnPage.

◆ SetCurrentStructureElement()

bool vcl::PDFExtOutDevData::SetCurrentStructureElement ( sal_Int32  nElement)

set the current structure element

For different purposes it may be useful to paint a structure element's content discontinuously. In that case an already existing structure element can be appended to by using SetCurrentStructureElement. The referenced structure element becomes the current structure element with all consequences: all following structure elements are appended as children of the current element.

Parameters
nElementthe id of the new current structure element
Returns
True if the current structure element could be set successfully False if the current structure element could not be changed (e.g. if the passed element id is invalid)

Definition at line 854 of file pdfextoutdevdata.cxx.

References o3tl::make_unsigned(), mpGlobalSyncData, mpPageSyncData, and mrOutDev.

◆ SetDocumentLocale()

void vcl::PDFExtOutDevData::SetDocumentLocale ( const css::lang::Locale &  rLoc)

Definition at line 590 of file pdfextoutdevdata.cxx.

References maDocLocale.

◆ SetIsExportBookmarks()

void vcl::PDFExtOutDevData::SetIsExportBookmarks ( const bool  bExportBookmarks)

Definition at line 634 of file pdfextoutdevdata.cxx.

References mbExportBookmarks.

◆ SetIsExportFormFields()

void vcl::PDFExtOutDevData::SetIsExportFormFields ( const bool  bExportFormFields)

Definition at line 630 of file pdfextoutdevdata.cxx.

References mbExportFormFields.

◆ SetIsExportHiddenSlides()

void vcl::PDFExtOutDevData::SetIsExportHiddenSlides ( const bool  bExportHiddenSlides)

Definition at line 638 of file pdfextoutdevdata.cxx.

References mbExportHiddenSlides.

◆ SetIsExportNamedDestinations()

void vcl::PDFExtOutDevData::SetIsExportNamedDestinations ( const bool  bExportNDests)

Definition at line 646 of file pdfextoutdevdata.cxx.

References mbExportNDests.

◆ SetIsExportNotes()

void vcl::PDFExtOutDevData::SetIsExportNotes ( const bool  bExportNotes)

Definition at line 610 of file pdfextoutdevdata.cxx.

References mbExportNotes.

◆ SetIsExportNotesInMargin()

void vcl::PDFExtOutDevData::SetIsExportNotesInMargin ( const bool  bExportNotesInMargin)

Definition at line 614 of file pdfextoutdevdata.cxx.

References mbExportNotesInMargin.

◆ SetIsExportNotesPages()

void vcl::PDFExtOutDevData::SetIsExportNotesPages ( const bool  bExportNotesPages)

Definition at line 618 of file pdfextoutdevdata.cxx.

References mbExportNotesPages.

◆ SetIsExportTaggedPDF()

void vcl::PDFExtOutDevData::SetIsExportTaggedPDF ( const bool  bTaggedPDF)

Definition at line 622 of file pdfextoutdevdata.cxx.

References mbTaggedPDF.

◆ SetIsExportTransitionEffects()

void vcl::PDFExtOutDevData::SetIsExportTransitionEffects ( const bool  bTransitionalEffects)

Definition at line 626 of file pdfextoutdevdata.cxx.

References mbTransitionEffects.

◆ SetIsLosslessCompression()

void vcl::PDFExtOutDevData::SetIsLosslessCompression ( const bool  bLosslessCompression)

Definition at line 598 of file pdfextoutdevdata.cxx.

References mbUseLosslessCompression.

◆ SetIsReduceImageResolution()

void vcl::PDFExtOutDevData::SetIsReduceImageResolution ( const bool  bReduceImageResolution)

Definition at line 606 of file pdfextoutdevdata.cxx.

References mbReduceImageResolution.

◆ SetIsSinglePageSheets()

void vcl::PDFExtOutDevData::SetIsSinglePageSheets ( const bool  bSinglePageSheets)

Definition at line 642 of file pdfextoutdevdata.cxx.

References mbSinglePageSheets.

◆ SetLinkDest()

void vcl::PDFExtOutDevData::SetLinkDest ( sal_Int32  nLinkId,
sal_Int32  nDestId 
)

Set the destination for a link.

will change a URL type link to a dest link if necessary

Parameters
nLinkIdthe link to be changed
nDestIdthe dest the link shall point to

Definition at line 741 of file pdfextoutdevdata.cxx.

References mpGlobalSyncData.

◆ SetLinkURL()

void vcl::PDFExtOutDevData::SetLinkURL ( sal_Int32  nLinkId,
const OUString &  rURL 
)

Set the URL for a link.

will change a dest type link to a URL type link if necessary

Parameters
nLinkIdthe link to be changed
rURLthe URL the link shall point to. there will be no error checking or any kind of conversion done to this parameter except this: it will be output as 7bit Ascii. The URL will appear literally in the PDF file produced

Definition at line 747 of file pdfextoutdevdata.cxx.

References mpGlobalSyncData.

◆ SetPageTransition()

void vcl::PDFExtOutDevData::SetPageTransition ( PDFWriter::PageTransition  eType,
sal_uInt32  nMilliSec 
)

Sets the transitional effect to be applied when the current page gets shown.

Parameters
eTypethe kind of effect to be used; use Regular to disable transitional effects for this page
nMilliSecthe duration of the transitional effect in milliseconds; set 0 to disable transitional effects

Definition at line 788 of file pdfextoutdevdata.cxx.

References eType, mnPage, and mpGlobalSyncData.

◆ SetScreenStream()

void vcl::PDFExtOutDevData::SetScreenStream ( sal_Int32  nScreenId,
const OUString &  rURL 
)

Set URL for an embedded Screen annotation.

Definition at line 761 of file pdfextoutdevdata.cxx.

References mpGlobalSyncData.

◆ SetScreenURL()

void vcl::PDFExtOutDevData::SetScreenURL ( sal_Int32  nScreenId,
const OUString &  rURL 
)

Set URL for a linked Screen annotation.

Definition at line 754 of file pdfextoutdevdata.cxx.

References mpGlobalSyncData.

◆ SetStructureAnnotIds()

void vcl::PDFExtOutDevData::SetStructureAnnotIds ( ::std::vector< sal_Int32 > const &  rAnnotIds)

set the annotations that should be referenced as children of the current structural element.

Definition at line 888 of file pdfextoutdevdata.cxx.

References mpPageSyncData, and mrOutDev.

◆ SetStructureAttribute()

void vcl::PDFExtOutDevData::SetStructureAttribute ( PDFWriter::StructAttribute  eAttr,
PDFWriter::StructAttributeValue  eVal 
)

set a structure attribute on the current structural element

SetStructureAttribute sets an attribute of the current structural element to a new value. A consistency check is performed before actually setting the value; if the check fails, the function returns False and the attribute remains unchanged.

Parameters
eAttrdenotes what attribute to change
eValthe value to set the attribute to

Definition at line 870 of file pdfextoutdevdata.cxx.

References mpPageSyncData, and mrOutDev.

◆ SetStructureAttributeNumerical()

void vcl::PDFExtOutDevData::SetStructureAttributeNumerical ( PDFWriter::StructAttribute  eAttr,
sal_Int32  nValue 
)

set a structure attribute on the current structural element

SetStructureAttributeNumerical sets an attribute of the current structural element to a new numerical value. A consistency check is performed before actually setting the value; if the check fails, the function returns False and the attribute remains unchanged.

Parameters
eAttrdenotes what attribute to change
nValuethe value to set the attribute to

Definition at line 876 of file pdfextoutdevdata.cxx.

References mpPageSyncData, mrOutDev, and nValue.

◆ SetStructureBoundingBox()

void vcl::PDFExtOutDevData::SetStructureBoundingBox ( const tools::Rectangle rRect)

set the bounding box of a structural element

SetStructureBoundingBox sets the BBox attribute to a new value. Since the BBox attribute can only be applied to Table, Figure, Form and Formula elements, a call of this function for other element types will be ignored and the BBox attribute not be set.

Parameters
rRectthe new bounding box for the structural element

Definition at line 882 of file pdfextoutdevdata.cxx.

References mpPageSyncData, and mrOutDev.

◆ WrapBeginStructureElement()

sal_Int32 vcl::PDFExtOutDevData::WrapBeginStructureElement ( PDFWriter::StructElement  eType,
const OUString &  rAlias = OUString() 
)

begin a new logical structure element

BeginStructureElement/EndStructureElement calls build the logical structure of the PDF - the basis for tagged PDF. Structural elements are implemented using marked content tags. Each structural element can contain sub elements (e.g. a section can contain a heading and a paragraph). The structure hierarchy is build automatically from the Begin/EndStructureElement calls.

The easy way is to call WrapBeginStructureElement, but it's also possible to call EnsureStructureElement/InitStructureElement/BeginStructureElement (its 3 parts) manually for more control; this way a placeholder SE can be inserted and initialised later.

A structural element need not be contained on one page; e.g. paragraphs often run from one page to the next. In this case the corresponding EndStructureElement must be called while drawing the next page.

BeginStructureElement and EndStructureElement must be called only after PDFWriter::NewPage has been called and before PDFWriter::Emit gets called. The current page number is an implicit context parameter for Begin/EndStructureElement.

For pagination artifacts that are not part of the logical structure of the document (like header, footer or page number) the special StructElement NonStructElement exists. To place content outside of the structure tree simply call BeginStructureElement( NonStructElement ) then draw your content and then call EndStructureElement(). Any children of a NonStructElement will not be part of the structure as well.

Parameters
eTypedenotes what kind of element to begin (e.g. a heading or paragraph)
rAliasthe specified alias will be used as structure tag. Also an entry in the PDF's role map will be created mapping alias to regular structure type.
Returns
the id of the newly created structural element

Definition at line 840 of file pdfextoutdevdata.cxx.

References BeginStructureElement(), EnsureStructureElement(), eType, and InitStructureElement().

Member Data Documentation

◆ m_ScreenAnnotations

::std::map<SdrObject const*, ::std::vector<sal_Int32> > vcl::PDFExtOutDevData::m_ScreenAnnotations
private

Definition at line 97 of file pdfextoutdevdata.hxx.

Referenced by CreateScreen(), and GetScreenAnnotIds().

◆ maBookmarks

std::vector< PDFExtOutDevBookmarkEntry > vcl::PDFExtOutDevData::maBookmarks
private

Definition at line 94 of file pdfextoutdevdata.hxx.

◆ maChapterNames

std::vector<OUString> vcl::PDFExtOutDevData::maChapterNames
private

Definition at line 95 of file pdfextoutdevdata.hxx.

Referenced by CreateOutlineItem().

◆ maDocLocale

css::lang::Locale vcl::PDFExtOutDevData::maDocLocale
private

Definition at line 89 of file pdfextoutdevdata.hxx.

Referenced by SetDocumentLocale().

◆ mbExportBookmarks

bool vcl::PDFExtOutDevData::mbExportBookmarks
private

Definition at line 83 of file pdfextoutdevdata.hxx.

Referenced by SetIsExportBookmarks().

◆ mbExportFormFields

bool vcl::PDFExtOutDevData::mbExportFormFields
private

Definition at line 82 of file pdfextoutdevdata.hxx.

Referenced by SetIsExportFormFields().

◆ mbExportHiddenSlides

bool vcl::PDFExtOutDevData::mbExportHiddenSlides
private

Definition at line 84 of file pdfextoutdevdata.hxx.

Referenced by SetIsExportHiddenSlides().

◆ mbExportNDests

bool vcl::PDFExtOutDevData::mbExportNDests
private

Definition at line 86 of file pdfextoutdevdata.hxx.

Referenced by SetIsExportNamedDestinations().

◆ mbExportNotes

bool vcl::PDFExtOutDevData::mbExportNotes
private

Definition at line 76 of file pdfextoutdevdata.hxx.

Referenced by SetIsExportNotes().

◆ mbExportNotesInMargin

bool vcl::PDFExtOutDevData::mbExportNotesInMargin
private

Definition at line 77 of file pdfextoutdevdata.hxx.

Referenced by SetIsExportNotesInMargin().

◆ mbExportNotesPages

bool vcl::PDFExtOutDevData::mbExportNotesPages
private

Definition at line 78 of file pdfextoutdevdata.hxx.

Referenced by SetIsExportNotesPages().

◆ mbReduceImageResolution

bool vcl::PDFExtOutDevData::mbReduceImageResolution
private

Definition at line 81 of file pdfextoutdevdata.hxx.

Referenced by HasAdequateCompression(), and SetIsReduceImageResolution().

◆ mbSinglePageSheets

bool vcl::PDFExtOutDevData::mbSinglePageSheets
private

Definition at line 85 of file pdfextoutdevdata.hxx.

Referenced by SetIsSinglePageSheets().

◆ mbTaggedPDF

bool vcl::PDFExtOutDevData::mbTaggedPDF
private

Definition at line 75 of file pdfextoutdevdata.hxx.

Referenced by SetIsExportTaggedPDF().

◆ mbTransitionEffects

bool vcl::PDFExtOutDevData::mbTransitionEffects
private

Definition at line 79 of file pdfextoutdevdata.hxx.

Referenced by SetIsExportTransitionEffects().

◆ mbUseLosslessCompression

bool vcl::PDFExtOutDevData::mbUseLosslessCompression
private

Definition at line 80 of file pdfextoutdevdata.hxx.

Referenced by SetIsLosslessCompression().

◆ mnCompressionQuality

sal_Int32 vcl::PDFExtOutDevData::mnCompressionQuality
private

Definition at line 88 of file pdfextoutdevdata.hxx.

Referenced by HasAdequateCompression(), and SetCompressionQuality().

◆ mnPage

sal_Int32 vcl::PDFExtOutDevData::mnPage
private

◆ mpGlobalSyncData

std::unique_ptr<GlobalSyncData> vcl::PDFExtOutDevData::mpGlobalSyncData
private

◆ mpPageSyncData

std::unique_ptr<PageSyncData> vcl::PDFExtOutDevData::mpPageSyncData
private

◆ mrOutDev

const OutputDevice& vcl::PDFExtOutDevData::mrOutDev
private

The documentation for this class was generated from the following files: