LibreOffice Module sw (master) 1
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
SwEnhancedPDFExportHelper Class Reference

#include <EnhancedPDFExportHelper.hxx>

Collaboration diagram for SwEnhancedPDFExportHelper:
[legend]

Public Member Functions

 SwEnhancedPDFExportHelper (SwEditShell &rSh, OutputDevice &rOut, const OUString &rPageRange, bool bSkipEmptyPages, bool bEditEngineOnly, const SwPrintData &rPrintData)
 
 ~SwEnhancedPDFExportHelper ()
 
tools::Rectangle SwRectToPDFRect (const SwPageFrame *pCurrPage, const tools::Rectangle &rRectangle) const
 

Static Public Member Functions

static TableColumnsMapGetTableColumnsMap ()
 
static LinkIdMapGetLinkIdMap ()
 
static NumListIdMapGetNumListIdMap ()
 
static NumListBodyIdMapGetNumListBodyIdMap ()
 
static FrameTagSetGetFrameTagSet ()
 
static LanguageType GetDefaultLanguage ()
 

Private Member Functions

void EnhancedPDFExport ()
 
void ExportAuthorityEntryLinks ()
 Exports bibliography entry links. More...
 
sal_Int32 CalcOutputPageNum (const SwRect &rRect) const
 
std::vector< sal_Int32 > CalcOutputPageNums (const SwRect &rRect) const
 
void MakeHeaderFooterLinks (vcl::PDFExtOutDevData &rPDFExtOutDevData, const SwTextNode &rTNd, const SwRect &rLinkRect, sal_Int32 nDestId, const OUString &rURL, bool bIntern, OUString const &rContent) const
 

Private Attributes

SwEditShellmrSh
 
OutputDevicemrOut
 
std::unique_ptr< StringRangeEnumeratormpRangeEnum
 
std::vector< sal_Int32 > maPageNumberMap
 The problem is that numbers in StringRangeEnumerator aren't accordant to real page numbers if mbSkipEmptyPages is true, because in this case empty pages are excluded from a page range and numbers in StringRangeEnumerator are shifted. More...
 
bool mbSkipEmptyPages
 
bool mbEditEngineOnly
 
const SwPrintDatamrPrintData
 

Static Private Attributes

static TableColumnsMap s_aTableColumnsMap
 
static LinkIdMap s_aLinkIdMap
 
static NumListIdMap s_aNumListIdMap
 
static NumListBodyIdMap s_aNumListBodyIdMap
 
static FrameTagSet s_FrameTagSet
 
static LanguageType s_eLanguageDefault = LANGUAGE_SYSTEM
 

Detailed Description

Definition at line 195 of file EnhancedPDFExportHelper.hxx.

Constructor & Destructor Documentation

◆ SwEnhancedPDFExportHelper()

SwEnhancedPDFExportHelper::SwEnhancedPDFExportHelper ( SwEditShell rSh,
OutputDevice rOut,
const OUString &  rPageRange,
bool  bSkipEmptyPages,
bool  bEditEngineOnly,
const SwPrintData rPrintData 
)

◆ ~SwEnhancedPDFExportHelper()

SwEnhancedPDFExportHelper::~SwEnhancedPDFExportHelper ( )

Definition at line 1732 of file EnhancedPDFExportHelper.cxx.

Member Function Documentation

◆ CalcOutputPageNum()

sal_Int32 SwEnhancedPDFExportHelper::CalcOutputPageNum ( const SwRect rRect) const
private

Definition at line 2592 of file EnhancedPDFExportHelper.cxx.

References CalcOutputPageNums().

Referenced by EnhancedPDFExport(), and ExportAuthorityEntryLinks().

◆ CalcOutputPageNums()

std::vector< sal_Int32 > SwEnhancedPDFExportHelper::CalcOutputPageNums ( const SwRect rRect) const
private

◆ EnhancedPDFExport()

void SwEnhancedPDFExportHelper::EnhancedPDFExport ( )
private

Definition at line 1760 of file EnhancedPDFExportHelper.cxx.

References sw::sidebar::aArr, SwPosition::Assign(), aURL, CalcOutputPageNum(), CalcOutputPageNums(), SwRect::Center(), Chars, vcl::PDFNote::Contents, vcl::PDFExtOutDevData::CreateDest(), vcl::PDFExtOutDevData::CreateLink(), vcl::PDFExtOutDevData::CreateNamedDest(), vcl::PDFExtOutDevData::CreateNote(), vcl::PDFExtOutDevData::CreateOutlineItem(), vcl::PDFExtOutDevData::CreateScreen(), INetURLObject::decode(), SwCursorShell::DeleteCurrent, vcl::PDFExtOutDevData::DescribeRegisteredDest(), SwField::ExpandField(), ExportAuthorityEntryLinks(), Fly, SwFieldType::GatherFields(), SwFormatAnchor::GetAnchorId(), SwFormatAnchor::GetAnchorNode(), vcl::PDFExtOutDevData::GetBookmarks(), IDocumentMarkAccess::getBookmarksBegin(), IDocumentMarkAccess::getBookmarksEnd(), SwCursorShell::GetCharRect(), SwCursorShell::GetCursor_(), Date::GetDate(), SwPostItField::GetDate(), GetDefaultLanguage(), SwViewShell::GetDoc(), OutputDevice::GetExtOutDevData(), SwEditShell::GetFieldType(), SwTextAttr::GetFootnote(), SwDoc::GetFootnoteIdxs(), SwFrameAreaDefinition::getFrameArea(), GetFrameOfModify(), SwDoc::getIDocumentMarkAccess(), SwViewShell::getIDocumentOutlineNodesAccess(), SwDoc::getIDocumentRedlineAccess(), SwEditShell::GetINetAttrs(), vcl::PDFExtOutDevData::GetIsExportBookmarks(), vcl::PDFExtOutDevData::GetIsExportNamedDestinations(), vcl::PDFExtOutDevData::GetIsExportNotes(), SwField::GetLanguage(), SwViewShell::GetLayout(), SwFrame::GetLeftMargin(), getLocale(), OutputDevice::GetMapMode(), SwViewShell::GetNodes(), SvNumberFormatter::GetNullDate(), SwDoc::GetNumberFormatter(), IDocumentOutlineNodes::getOutlineLevel(), SwNodes::GetOutLineNds(), IDocumentOutlineNodes::getOutlineNodesCount(), IDocumentOutlineNodes::getOutlineText(), SvNumberFormatter::GetOutputString(), SwRootFrame::GetPageAtPos(), SwRootFrame::GetPageByPageNum(), SwPostItField::GetPar1(), SwPaM::GetPoint(), GetRef, SwPostItField::GetResolved(), SwFrame::GetRightMargin(), SwFrame::getRootFrame(), SwCursorShell::GetSelText(), SwGetRefField::GetSeqNo(), SwGetRefField::GetSetRefName(), SwDoc::GetSpzFrameFormats(), SvNumberFormatter::GetStandardFormat(), SwTextAttr::GetStart(), SwGetRefField::GetSubType(), SwPostItField::GetText(), SwTextNode::GetText(), SwNode::GetTextNode(), SwTextFootnote::GetTextNode(), SwFrame::GetTopMargin(), SwFormatURL::GetURL(), SwFormatFootnote::GetViewNumStr(), SwCursorShell::GotoFootnoteAnchor(), SwCursorShell::GotoFootnoteText(), SwCursorShell::GotoINetAttr(), SwCursorShell::GotoOutline(), SwCursorShell::GotoRefMark(), SwRect::Height(), i, sw::IsFootnoteDeleted(), SwTextNode::IsHidden(), SwRootFrame::IsHideRedlines(), SwDoc::IsInHeaderFooter(), SwCursorShell::IsInHiddenRange(), sw::IsParaPropsNode(), SwFrame::IsRightToLeft(), SwFrame::IsVertical(), SwViewShell::IsViewLocked(), JumpToSwMark(), SwRect::Left(), SwViewShell::LockView(), SwLayoutFrame::Lower(), MakeHeaderFooterLinks(), vcl::MAPMODE, mbEditEngineOnly, mrOut, mrSh, p, pObject, OutputDevice::Pop(), SwRect::Pos(), Postit, OutputDevice::Push(), RES_DRAWFRMFMT(), RES_TXTATR_INETFMT(), RES_URL(), SwCursor::RestoreSavePos(), SwRect::Right(), s_aLinkIdMap, vcl::PDFExtOutDevData::SetDocumentLocale(), vcl::PDFExtOutDevData::SetLinkDest(), vcl::PDFExtOutDevData::SetLinkURL(), OutputDevice::SetMapMode(), MapMode::SetMapUnit(), vcl::PDFExtOutDevData::SetScreenStream(), vcl::PDFExtOutDevData::SetScreenURL(), o3tl::sorted_vector< typename Value, typename Compare, template< typename, typename > class Find, bool >::size(), SwRect::SVRect(), SwRectToPDFRect(), SwResId(), vcl::PDFNote::Title, SwRect::Top(), INetURLObject::Unambiguous, and SwRect::Width().

Referenced by SwEnhancedPDFExportHelper().

◆ ExportAuthorityEntryLinks()

void SwEnhancedPDFExportHelper::ExportAuthorityEntryLinks ( )
private

◆ GetDefaultLanguage()

static LanguageType SwEnhancedPDFExportHelper::GetDefaultLanguage ( )
inlinestatic

◆ GetFrameTagSet()

static FrameTagSet & SwEnhancedPDFExportHelper::GetFrameTagSet ( )
inlinestatic

◆ GetLinkIdMap()

static LinkIdMap & SwEnhancedPDFExportHelper::GetLinkIdMap ( )
inlinestatic

Definition at line 250 of file EnhancedPDFExportHelper.hxx.

References s_aLinkIdMap.

◆ GetNumListBodyIdMap()

static NumListBodyIdMap & SwEnhancedPDFExportHelper::GetNumListBodyIdMap ( )
inlinestatic

◆ GetNumListIdMap()

static NumListIdMap & SwEnhancedPDFExportHelper::GetNumListIdMap ( )
inlinestatic

◆ GetTableColumnsMap()

static TableColumnsMap & SwEnhancedPDFExportHelper::GetTableColumnsMap ( )
inlinestatic

◆ MakeHeaderFooterLinks()

void SwEnhancedPDFExportHelper::MakeHeaderFooterLinks ( vcl::PDFExtOutDevData rPDFExtOutDevData,
const SwTextNode rTNd,
const SwRect rLinkRect,
sal_Int32  nDestId,
const OUString &  rURL,
bool  bIntern,
OUString const &  rContent 
) const
private

◆ SwRectToPDFRect()

tools::Rectangle SwEnhancedPDFExportHelper::SwRectToPDFRect ( const SwPageFrame pCurrPage,
const tools::Rectangle rRectangle 
) const

Member Data Documentation

◆ maPageNumberMap

std::vector< sal_Int32 > SwEnhancedPDFExportHelper::maPageNumberMap
private

The problem is that numbers in StringRangeEnumerator aren't accordant to real page numbers if mbSkipEmptyPages is true, because in this case empty pages are excluded from a page range and numbers in StringRangeEnumerator are shifted.

maPageNumberMap[real_page_number] is either a corresponding page number in a page range without empty pages, or -1 if this page is empty.

Definition at line 210 of file EnhancedPDFExportHelper.hxx.

Referenced by CalcOutputPageNums(), and SwEnhancedPDFExportHelper().

◆ mbEditEngineOnly

bool SwEnhancedPDFExportHelper::mbEditEngineOnly
private

Definition at line 213 of file EnhancedPDFExportHelper.hxx.

Referenced by EnhancedPDFExport().

◆ mbSkipEmptyPages

bool SwEnhancedPDFExportHelper::mbSkipEmptyPages
private

Definition at line 212 of file EnhancedPDFExportHelper.hxx.

Referenced by CalcOutputPageNums(), and SwEnhancedPDFExportHelper().

◆ mpRangeEnum

std::unique_ptr<StringRangeEnumerator> SwEnhancedPDFExportHelper::mpRangeEnum
private

Definition at line 202 of file EnhancedPDFExportHelper.hxx.

Referenced by CalcOutputPageNums(), and SwEnhancedPDFExportHelper().

◆ mrOut

OutputDevice& SwEnhancedPDFExportHelper::mrOut
private

◆ mrPrintData

const SwPrintData& SwEnhancedPDFExportHelper::mrPrintData
private

Definition at line 215 of file EnhancedPDFExportHelper.hxx.

Referenced by SwRectToPDFRect().

◆ mrSh

SwEditShell& SwEnhancedPDFExportHelper::mrSh
private

◆ s_aLinkIdMap

LinkIdMap SwEnhancedPDFExportHelper::s_aLinkIdMap
staticprivate

◆ s_aNumListBodyIdMap

NumListBodyIdMap SwEnhancedPDFExportHelper::s_aNumListBodyIdMap
staticprivate

Definition at line 220 of file EnhancedPDFExportHelper.hxx.

Referenced by GetNumListBodyIdMap(), and SwEnhancedPDFExportHelper().

◆ s_aNumListIdMap

NumListIdMap SwEnhancedPDFExportHelper::s_aNumListIdMap
staticprivate

Definition at line 219 of file EnhancedPDFExportHelper.hxx.

Referenced by GetNumListIdMap(), and SwEnhancedPDFExportHelper().

◆ s_aTableColumnsMap

TableColumnsMap SwEnhancedPDFExportHelper::s_aTableColumnsMap
staticprivate

Definition at line 217 of file EnhancedPDFExportHelper.hxx.

Referenced by GetTableColumnsMap(), and SwEnhancedPDFExportHelper().

◆ s_eLanguageDefault

LanguageType SwEnhancedPDFExportHelper::s_eLanguageDefault = LANGUAGE_SYSTEM
staticprivate

Definition at line 223 of file EnhancedPDFExportHelper.hxx.

Referenced by GetDefaultLanguage(), and SwEnhancedPDFExportHelper().

◆ s_FrameTagSet

FrameTagSet SwEnhancedPDFExportHelper::s_FrameTagSet
staticprivate

Definition at line 221 of file EnhancedPDFExportHelper.hxx.

Referenced by GetFrameTagSet(), and SwEnhancedPDFExportHelper().


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