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 TableColumnsMap & GetTableColumnsMap ()
 
static LinkIdMap & GetLinkIdMap ()
 
static NumListIdMap & GetNumListIdMap ()
 
static NumListBodyIdMap & GetNumListBodyIdMap ()
 
static FrameTagSet & GetFrameTagSet ()
 
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

SwEditShell & mrSh
 
OutputDevice & mrOut
 
std::unique_ptr< StringRangeEnumerator > mpRangeEnum
 
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 SwPrintData & mrPrintData
 

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: