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 FrameTagIdMapGetFrameTagIdMap ()
 
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 FrameTagIdMap s_aFrameTagIdMap
 
static LanguageType s_eLanguageDefault = LANGUAGE_SYSTEM
 

Detailed Description

Definition at line 192 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 1702 of file EnhancedPDFExportHelper.cxx.

Member Function Documentation

◆ CalcOutputPageNum()

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

Definition at line 2545 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 1729 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(), SwFrameFormat::FindLayoutRect(), SwFrameFormat::FindRealSdrObject(), Fly, SwFieldType::GatherFields(), SwFormat::GetAnchor(), SwFormatAnchor::GetAnchorId(), SwFormatAnchor::GetAnchorNode(), SwFormat::GetAttrSet(), 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(), SfxItemSet::GetItemIfSet(), SwField::GetLanguage(), SwViewShell::GetLayout(), SwFrame::GetLeftMargin(), getLocale(), OutputDevice::GetMapMode(), SwFormat::GetName(), 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, n, p, pObject, Point, 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(), SwFrameFormats::size(), SwRect::SVRect(), SwRectToPDFRect(), SwResId(), vcl::PDFNote::Title, SwRect::Top(), INetURLObject::Unambiguous, SwFormat::Which(), and SwRect::Width().

Referenced by SwEnhancedPDFExportHelper().

◆ ExportAuthorityEntryLinks()

void SwEnhancedPDFExportHelper::ExportAuthorityEntryLinks ( )
private

◆ GetDefaultLanguage()

static LanguageType SwEnhancedPDFExportHelper::GetDefaultLanguage ( )
inlinestatic

◆ GetFrameTagIdMap()

static FrameTagIdMap & SwEnhancedPDFExportHelper::GetFrameTagIdMap ( )
inlinestatic

Definition at line 250 of file EnhancedPDFExportHelper.hxx.

References s_aFrameTagIdMap.

Referenced by SwTaggedPDFHelper::BeginTag(), and GetReopenTagFromFrame().

◆ GetLinkIdMap()

static LinkIdMap & SwEnhancedPDFExportHelper::GetLinkIdMap ( )
inlinestatic

Definition at line 247 of file EnhancedPDFExportHelper.hxx.

References s_aLinkIdMap.

Referenced by SwTaggedPDFHelper::SetAttributes().

◆ 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 207 of file EnhancedPDFExportHelper.hxx.

Referenced by CalcOutputPageNums(), and SwEnhancedPDFExportHelper().

◆ mbEditEngineOnly

bool SwEnhancedPDFExportHelper::mbEditEngineOnly
private

Definition at line 210 of file EnhancedPDFExportHelper.hxx.

Referenced by EnhancedPDFExport().

◆ mbSkipEmptyPages

bool SwEnhancedPDFExportHelper::mbSkipEmptyPages
private

Definition at line 209 of file EnhancedPDFExportHelper.hxx.

Referenced by CalcOutputPageNums(), and SwEnhancedPDFExportHelper().

◆ mpRangeEnum

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

Definition at line 199 of file EnhancedPDFExportHelper.hxx.

Referenced by CalcOutputPageNums(), and SwEnhancedPDFExportHelper().

◆ mrOut

OutputDevice& SwEnhancedPDFExportHelper::mrOut
private

◆ mrPrintData

const SwPrintData& SwEnhancedPDFExportHelper::mrPrintData
private

Definition at line 212 of file EnhancedPDFExportHelper.hxx.

Referenced by SwRectToPDFRect().

◆ mrSh

SwEditShell& SwEnhancedPDFExportHelper::mrSh
private

◆ s_aFrameTagIdMap

FrameTagIdMap SwEnhancedPDFExportHelper::s_aFrameTagIdMap
staticprivate

Definition at line 218 of file EnhancedPDFExportHelper.hxx.

Referenced by GetFrameTagIdMap(), and SwEnhancedPDFExportHelper().

◆ s_aLinkIdMap

LinkIdMap SwEnhancedPDFExportHelper::s_aLinkIdMap
staticprivate

◆ s_aNumListBodyIdMap

NumListBodyIdMap SwEnhancedPDFExportHelper::s_aNumListBodyIdMap
staticprivate

Definition at line 217 of file EnhancedPDFExportHelper.hxx.

Referenced by GetNumListBodyIdMap(), and SwEnhancedPDFExportHelper().

◆ s_aNumListIdMap

NumListIdMap SwEnhancedPDFExportHelper::s_aNumListIdMap
staticprivate

Definition at line 216 of file EnhancedPDFExportHelper.hxx.

Referenced by GetNumListIdMap(), and SwEnhancedPDFExportHelper().

◆ s_aTableColumnsMap

TableColumnsMap SwEnhancedPDFExportHelper::s_aTableColumnsMap
staticprivate

Definition at line 214 of file EnhancedPDFExportHelper.hxx.

Referenced by GetTableColumnsMap(), and SwEnhancedPDFExportHelper().

◆ s_eLanguageDefault

LanguageType SwEnhancedPDFExportHelper::s_eLanguageDefault = LANGUAGE_SYSTEM
staticprivate

Definition at line 220 of file EnhancedPDFExportHelper.hxx.

Referenced by GetDefaultLanguage(), and SwEnhancedPDFExportHelper().


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