LibreOffice Module sw (master)
1
|
#include <EnhancedPDFExportHelper.hxx>
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 FrameTagIdMap & | GetFrameTagIdMap () |
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 | |
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 FrameTagIdMap | s_aFrameTagIdMap |
static LanguageType | s_eLanguageDefault = LANGUAGE_SYSTEM |
Definition at line 191 of file EnhancedPDFExportHelper.hxx.
SwEnhancedPDFExportHelper::SwEnhancedPDFExportHelper | ( | SwEditShell & | rSh, |
OutputDevice & | rOut, | ||
const OUString & | rPageRange, | ||
bool | bSkipEmptyPages, | ||
bool | bEditEngineOnly, | ||
const SwPrintData & | rPrintData | ||
) |
Definition at line 1451 of file EnhancedPDFExportHelper.cxx.
References aStructStack, EnhancedPDFExport(), GetAppLanguage(), SwDoc::GetDefault(), SwViewShell::GetDoc(), SvtLanguageOptions::GetI18NScriptTypeOfLanguage(), SwLangHelper::GetLanguage(), SwViewShell::GetLayout(), SwViewShell::GetPageCount(), i, SwLayoutFrame::Lower(), maPageNumberMap, mbSkipEmptyPages, mpRangeEnum, mrSh, n, RES_CHRATR_CJK_LANGUAGE(), RES_CHRATR_CTL_LANGUAGE(), RES_CHRATR_LANGUAGE(), s_aFrameTagIdMap, s_aLinkIdMap, s_aNumListBodyIdMap, s_aNumListIdMap, s_aTableColumnsMap, and s_eLanguageDefault.
SwEnhancedPDFExportHelper::~SwEnhancedPDFExportHelper | ( | ) |
Definition at line 1506 of file EnhancedPDFExportHelper.cxx.
|
private |
Definition at line 2167 of file EnhancedPDFExportHelper.cxx.
References CalcOutputPageNums().
Referenced by EnhancedPDFExport().
|
private |
Definition at line 2178 of file EnhancedPDFExportHelper.cxx.
References SwViewShell::GetPageNumAndSetOffsetForPDF(), i, maPageNumberMap, mbSkipEmptyPages, mpRangeEnum, mrOut, and mrSh.
Referenced by CalcOutputPageNum(), EnhancedPDFExport(), and MakeHeaderFooterLinks().
|
private |
Definition at line 1533 of file EnhancedPDFExportHelper.cxx.
References sw::sidebar::aArr, SwIndex::Assign(), aURL, 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(), Fly, SwFieldType::GatherFields(), 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(), getLocale(), 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::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, n, SwPosition::nContent, SwPosition::nNode, p, pObject, Point, OutputDevice::Pop(), Postit, OutputDevice::Push(), RES_DRAWFRMFMT(), RES_TXTATR_INETFMT(), RES_URL(), SwCursor::RestoreSavePos(), SwGetINetAttr::rINetAttr, s_aLinkIdMap, 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().
|
inlinestatic |
Definition at line 246 of file EnhancedPDFExportHelper.hxx.
References s_eLanguageDefault.
Referenced by SwTaggedPDFHelper::BeginInlineStructureElements(), EnhancedPDFExport(), and SwTaggedPDFHelper::SetAttributes().
|
inlinestatic |
Definition at line 244 of file EnhancedPDFExportHelper.hxx.
References s_aFrameTagIdMap.
Referenced by SwTaggedPDFHelper::BeginTag(), and SwTaggedPDFHelper::CheckReopenTag().
|
inlinestatic |
Definition at line 241 of file EnhancedPDFExportHelper.hxx.
References s_aLinkIdMap.
Referenced by SwTaggedPDFHelper::SetAttributes().
|
inlinestatic |
Definition at line 243 of file EnhancedPDFExportHelper.hxx.
References s_aNumListBodyIdMap.
Referenced by SwTaggedPDFHelper::BeginNumberedListStructureElements(), and SwTaggedPDFHelper::BeginTag().
|
inlinestatic |
Definition at line 242 of file EnhancedPDFExportHelper.hxx.
References s_aNumListIdMap.
Referenced by SwTaggedPDFHelper::BeginNumberedListStructureElements(), and SwTaggedPDFHelper::BeginTag().
|
inlinestatic |
Definition at line 240 of file EnhancedPDFExportHelper.hxx.
References s_aTableColumnsMap.
Referenced by SwTaggedPDFHelper::BeginBlockStructureElements(), and SwTaggedPDFHelper::SetAttributes().
|
private |
Definition at line 2233 of file EnhancedPDFExportHelper.cxx.
References CalcOutputPageNums(), vcl::PDFExtOutDevData::CreateLink(), SwFrame::FindPageFrame(), SwIterator< TElementType, TSource, eMode >::First(), SwFrameAreaDefinition::getFrameArea(), OutputDevice::GetMapMode(), MapMode::GetOrigin(), mrOut, SwIterator< TElementType, TSource, eMode >::Next(), Point, SwRect::Pos(), vcl::PDFExtOutDevData::SetLinkDest(), vcl::PDFExtOutDevData::SetLinkURL(), SwRect::SVRect(), and SwRectToPDFRect().
Referenced by EnhancedPDFExport().
tools::Rectangle SwEnhancedPDFExportHelper::SwRectToPDFRect | ( | const SwPageFrame * | pCurrPage, |
const tools::Rectangle & | rRectangle | ||
) | const |
Definition at line 1510 of file EnhancedPDFExportHelper.cxx.
References SwFrameAreaDefinition::getFrameArea(), SwPrintData::GetPrintPostIts(), tools::Rectangle::GetSize(), SwRect::Height(), InMargins, tools::Rectangle::Left(), tools::Rectangle::Move(), mrPrintData, tools::Rectangle::SetLeft(), tools::Rectangle::SetSize(), tools::Rectangle::SetTop(), Size::setWidth(), and tools::Rectangle::Top().
Referenced by EnhancedPDFExport(), and MakeHeaderFooterLinks().
|
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().
|
private |
Definition at line 209 of file EnhancedPDFExportHelper.hxx.
Referenced by EnhancedPDFExport().
|
private |
Definition at line 208 of file EnhancedPDFExportHelper.hxx.
Referenced by CalcOutputPageNums(), and SwEnhancedPDFExportHelper().
|
private |
Definition at line 198 of file EnhancedPDFExportHelper.hxx.
Referenced by CalcOutputPageNums(), and SwEnhancedPDFExportHelper().
|
private |
Definition at line 196 of file EnhancedPDFExportHelper.hxx.
Referenced by CalcOutputPageNums(), EnhancedPDFExport(), and MakeHeaderFooterLinks().
|
private |
Definition at line 211 of file EnhancedPDFExportHelper.hxx.
Referenced by SwRectToPDFRect().
|
private |
Definition at line 195 of file EnhancedPDFExportHelper.hxx.
Referenced by CalcOutputPageNums(), EnhancedPDFExport(), and SwEnhancedPDFExportHelper().
|
staticprivate |
Definition at line 217 of file EnhancedPDFExportHelper.hxx.
Referenced by GetFrameTagIdMap(), and SwEnhancedPDFExportHelper().
|
staticprivate |
Definition at line 214 of file EnhancedPDFExportHelper.hxx.
Referenced by EnhancedPDFExport(), GetLinkIdMap(), and SwEnhancedPDFExportHelper().
|
staticprivate |
Definition at line 216 of file EnhancedPDFExportHelper.hxx.
Referenced by GetNumListBodyIdMap(), and SwEnhancedPDFExportHelper().
|
staticprivate |
Definition at line 215 of file EnhancedPDFExportHelper.hxx.
Referenced by GetNumListIdMap(), and SwEnhancedPDFExportHelper().
|
staticprivate |
Definition at line 213 of file EnhancedPDFExportHelper.hxx.
Referenced by GetTableColumnsMap(), and SwEnhancedPDFExportHelper().
|
staticprivate |
Definition at line 219 of file EnhancedPDFExportHelper.hxx.
Referenced by GetDefaultLanguage(), and SwEnhancedPDFExportHelper().