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 ()
 
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) 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 const mbSkipEmptyPages
 
bool const mbEditEngineOnly
 
const SwPrintDatamrPrintData
 

Static Private Attributes

static TableColumnsMap aTableColumnsMap
 
static LinkIdMap aLinkIdMap
 
static NumListIdMap aNumListIdMap
 
static NumListBodyIdMap aNumListBodyIdMap
 
static FrameTagIdMap aFrameTagIdMap
 
static LanguageType eLanguageDefault = LANGUAGE_SYSTEM
 

Detailed Description

Definition at line 191 of file EnhancedPDFExportHelper.hxx.

Constructor & Destructor Documentation

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

Definition at line 1492 of file EnhancedPDFExportHelper.cxx.

Member Function Documentation

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

Definition at line 2181 of file EnhancedPDFExportHelper.cxx.

References CalcOutputPageNums().

Referenced by EnhancedPDFExport().

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

Definition at line 1519 of file EnhancedPDFExportHelper.cxx.

References aArr, aLinkIdMap, SwIndex::Assign(), CalcOutputPageNum(), CalcOutputPageNums(), SwRect::Center(), vcl::PDFNote::Contents, vcl::PDFExtOutDevData::CreateDest(), vcl::PDFExtOutDevData::CreateLink(), vcl::PDFExtOutDevData::CreateNamedDest(), vcl::PDFExtOutDevData::CreateNote(), vcl::PDFExtOutDevData::CreateOutlineItem(), vcl::PDFExtOutDevData::CreateScreen(), CRSR_SKIP_CHARS, INetURLObject::decode(), SwCursorShell::DeleteCurrent, vcl::PDFExtOutDevData::DescribeRegisteredDest(), SwFrameFormat::FindLayoutRect(), SwFrameFormat::FindRealSdrObject(), SwIterator< TElementType, TSource, eMode >::First(), Fly, SwFormat::GetAnchor(), SwFormatAnchor::GetAnchorId(), SwFormat::GetAttrSet(), vcl::PDFExtOutDevData::GetBookmarks(), IDocumentMarkAccess::getBookmarksBegin(), IDocumentMarkAccess::getBookmarksEnd(), SwCursorShell::GetCharRect(), SwFormatAnchor::GetContentAnchor(), SwCursorShell::GetCursor_(), SwPostItField::GetDate(), GetDefaultLanguage(), SwViewShell::GetDoc(), OutputDevice::GetExtOutDevData(), SwEditShell::GetFieldType(), SwDoc::GetFootnoteIdxs(), GetFrameOfModify(), SwDoc::getIDocumentMarkAccess(), SwViewShell::getIDocumentOutlineNodesAccess(), SwDoc::getIDocumentRedlineAccess(), SwEditShell::GetINetAttrs(), SwTextAttr::GetINetFormat(), vcl::PDFExtOutDevData::GetIsExportBookmarks(), vcl::PDFExtOutDevData::GetIsExportNamedDestinations(), vcl::PDFExtOutDevData::GetIsExportNotes(), SfxItemSet::GetItemState(), SwField::GetLanguage(), SwViewShell::GetLayout(), OutputDevice::GetMapMode(), SwNodeIndex::GetNode(), SwViewShell::GetNodes(), SvNumberFormatter::GetNullDate(), SwDoc::GetNumberFormatter(), IDocumentOutlineNodes::getOutlineLevel(), SwNodes::GetOutLineNds(), IDocumentOutlineNodes::getOutlineNodesCount(), IDocumentOutlineNodes::getOutlineText(), SvNumberFormatter::GetOutputString(), SwRootFrame::GetPageAtPos(), SwPostItField::GetPar1(), SwPaM::GetPoint(), SwTextINetFormat::GetpTextNode(), GetRef, SwPostItField::GetResolved(), SwGetRefField::GetSeqNo(), SwGetRefField::GetSetRefName(), SwDoc::GetSpzFrameFormats(), SvNumberFormatter::GetStandardFormat(), SwTextAttr::GetStart(), SwGetRefField::GetSubType(), SwTextNode::GetText(), SwPostItField::GetText(), SwTextFootnote::GetTextNode(), SwNode::GetTextNode(), SwFormatINetFormat::GetValue(), SwCursorShell::GotoFootnoteText(), SwCursorShell::GotoFormatField(), SwCursorShell::GotoINetAttr(), SwCursorShell::GotoOutline(), SwCursorShell::GotoRefMark(), i, sw::IsFootnoteDeleted(), SwTextNode::IsHidden(), SwRootFrame::IsHideRedlines(), SwDoc::IsInHeaderFooter(), sw::IsParaPropsNode(), SwViewShell::IsViewLocked(), JumpToSwMark(), SwViewShell::LockView(), SwLayoutFrame::Lower(), MakeHeaderFooterLinks(), mbEditEngineOnly, mrOut, mrSh, SwPosition::nContent, SwIterator< TElementType, TSource, eMode >::Next(), SwPosition::nNode, OutputDevice::Pop(), Postit, OutputDevice::Push(), RES_DRAWFRMFMT, RES_TXTATR_INETFMT, RES_URL, SwCursor::RestoreSavePos(), SwGetINetAttr::rINetAttr, SwCursorShell::SelectHiddenRange(), vcl::PDFExtOutDevData::SetDocumentLocale(), vcl::PDFExtOutDevData::SetLinkDest(), vcl::PDFExtOutDevData::SetLinkURL(), OutputDevice::SetMapMode(), vcl::PDFExtOutDevData::SetScreenStream(), vcl::PDFExtOutDevData::SetScreenURL(), o3tl::sorted_vector< Value, Compare, Find, class >::size(), SwFrameFormats::size(), SwRect::SVRect(), SwRectToPDFRect(), SwResId(), vcl::PDFNote::Title, INetURLObject::Unambiguous, and SwFormat::Which().

Referenced by SwEnhancedPDFExportHelper().

static LanguageType SwEnhancedPDFExportHelper::GetDefaultLanguage ( )
inlinestatic
static FrameTagIdMap& SwEnhancedPDFExportHelper::GetFrameTagIdMap ( )
inlinestatic
static LinkIdMap& SwEnhancedPDFExportHelper::GetLinkIdMap ( )
inlinestatic

Definition at line 241 of file EnhancedPDFExportHelper.hxx.

References aLinkIdMap.

Referenced by SwTaggedPDFHelper::SetAttributes().

static NumListBodyIdMap& SwEnhancedPDFExportHelper::GetNumListBodyIdMap ( )
inlinestatic
static NumListIdMap& SwEnhancedPDFExportHelper::GetNumListIdMap ( )
inlinestatic
static TableColumnsMap& SwEnhancedPDFExportHelper::GetTableColumnsMap ( )
inlinestatic
void SwEnhancedPDFExportHelper::MakeHeaderFooterLinks ( vcl::PDFExtOutDevData rPDFExtOutDevData,
const SwTextNode rTNd,
const SwRect rLinkRect,
sal_Int32  nDestId,
const OUString &  rURL,
bool  bIntern 
) const
private
tools::Rectangle SwEnhancedPDFExportHelper::SwRectToPDFRect ( const SwPageFrame pCurrPage,
const tools::Rectangle rRectangle 
) const

Member Data Documentation

FrameTagIdMap SwEnhancedPDFExportHelper::aFrameTagIdMap
staticprivate

Definition at line 217 of file EnhancedPDFExportHelper.hxx.

Referenced by GetFrameTagIdMap(), and SwEnhancedPDFExportHelper().

LinkIdMap SwEnhancedPDFExportHelper::aLinkIdMap
staticprivate
NumListBodyIdMap SwEnhancedPDFExportHelper::aNumListBodyIdMap
staticprivate

Definition at line 216 of file EnhancedPDFExportHelper.hxx.

Referenced by GetNumListBodyIdMap(), and SwEnhancedPDFExportHelper().

NumListIdMap SwEnhancedPDFExportHelper::aNumListIdMap
staticprivate

Definition at line 215 of file EnhancedPDFExportHelper.hxx.

Referenced by GetNumListIdMap(), and SwEnhancedPDFExportHelper().

TableColumnsMap SwEnhancedPDFExportHelper::aTableColumnsMap
staticprivate

Definition at line 213 of file EnhancedPDFExportHelper.hxx.

Referenced by GetTableColumnsMap(), and SwEnhancedPDFExportHelper().

LanguageType SwEnhancedPDFExportHelper::eLanguageDefault = LANGUAGE_SYSTEM
staticprivate

Definition at line 219 of file EnhancedPDFExportHelper.hxx.

Referenced by GetDefaultLanguage(), and SwEnhancedPDFExportHelper().

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

Referenced by CalcOutputPageNums(), and SwEnhancedPDFExportHelper().

bool const SwEnhancedPDFExportHelper::mbEditEngineOnly
private

Definition at line 209 of file EnhancedPDFExportHelper.hxx.

Referenced by EnhancedPDFExport().

bool const SwEnhancedPDFExportHelper::mbSkipEmptyPages
private

Definition at line 208 of file EnhancedPDFExportHelper.hxx.

Referenced by CalcOutputPageNums(), and SwEnhancedPDFExportHelper().

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

Definition at line 198 of file EnhancedPDFExportHelper.hxx.

Referenced by CalcOutputPageNums(), and SwEnhancedPDFExportHelper().

OutputDevice& SwEnhancedPDFExportHelper::mrOut
private
const SwPrintData& SwEnhancedPDFExportHelper::mrPrintData
private

Definition at line 211 of file EnhancedPDFExportHelper.hxx.

Referenced by SwRectToPDFRect().

SwEditShell& SwEnhancedPDFExportHelper::mrSh
private

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