29#include <com/sun/star/document/XDocumentPropertiesSupplier.hpp>
30#include <com/sun/star/frame/XModel.hpp>
31#include <com/sun/star/i18n/ScriptType.hpp>
32#include <com/sun/star/beans/XPropertySet.hpp>
33#include <com/sun/star/beans/XPropertySetInfo.hpp>
34#include <com/sun/star/text/XTextFieldsSupplier.hpp>
51#include <lineinfo.hxx>
61#include <osl/diagnose.h>
62#include <rtl/tencinfo.h>
78#define DEF_ENCODING RTL_TEXTENCODING_ASCII_US
89 if (nScript == i18n::ScriptType::ASIAN)
103 else if (nScript != i18n::ScriptType::COMPLEX)
123 std::vector<OUString> aStarts;
124 std::vector<OUString> aEnds;
127 if (
GetBookmarks(rNode, nCurrentPos, nCurrentPos + nLen, aMarks))
129 for (
const auto& pMark : aMarks)
131 const sal_Int32 nStart = pMark->GetMarkStart().GetContentIndex();
132 const sal_Int32 nEnd = pMark->GetMarkEnd().GetContentIndex();
134 if (nStart == nCurrentPos)
135 aStarts.push_back(pMark->GetName());
137 if (nEnd == nCurrentPos)
138 aEnds.push_back(pMark->GetName());
147 std::vector<OUString> aStarts{ rName };
148 std::vector<OUString> aEnds{ rName };
156 std::vector<OUString> aStarts;
157 std::vector<OUString> aEnds;
162 for (
const auto& pMark : aMarks)
164 const sal_Int32 nStart = pMark->GetMarkStart().GetContentIndex();
165 const sal_Int32 nEnd = pMark->GetMarkEnd().GetContentIndex();
167 if (nStart == nCurrentPos)
168 aStarts.push_back(pMark->GetName());
170 if (nEnd == nCurrentPos)
171 aEnds.push_back(pMark->GetName());
195 for (nLvl = 0; nLvl < nEnd; ++nLvl)
214 for (
auto n = rListTable.
size();
n;)
227 SAL_INFO(
"sw.rtf", __func__ <<
" start");
254 SAL_INFO(
"sw.rtf", __func__ <<
" end");
319 m_pAttrOutput->WriteField_Impl(pField, eFieldType, rFieldCmd, nMode);
341 SAL_INFO(
"sw.rtf",
"unknown field type");
351 uno::Sequence<OUString> entries;
353 it != rFieldmark.GetParameters()->end())
355 it->second >>= entries;
358 it != rFieldmark.GetParameters()->end())
368 for (OUString
const& rEntry : entries)
382 SAL_INFO(
"sw.rtf",
"TODO: " << __func__);
386 const OUString& ,
const OUString& ,
387 const uno::Sequence<OUString>& )
394 OUString sResult = pField->
ExpandField(
true,
nullptr);
395 const OUString& rHelp = pField->
GetHelp();
397 const OUString& rStatus = pField->
GetToolTip();
404 if (!rHelp.isEmpty())
406 if (!rStatus.isEmpty())
410 if (!
sName.isEmpty())
414 if (!rHelp.isEmpty())
421 if (!rStatus.isEmpty())
450 SAL_INFO(
"sw.rtf", __func__ <<
" start");
452 SAL_INFO(
"sw.rtf", __func__ <<
" end");
459 bool bSeparator = double(rFootnoteInfo.
GetWidth()) > 0;
472 SAL_INFO(
"sw.rtf", __func__ <<
" start");
474 if (std::unique_ptr<SvxBrushItem> oBrush =
getBackground(); oBrush)
481 std::vector<std::pair<OString, OString>>
aProperties{
482 {
"shapeType",
"1" },
485 for (
const std::pair<OString, OString>& rPair :
aProperties)
502 m_pCurPam->GetPoint()->Assign(*pTableNode);
512 SAL_INFO(
"sw.rtf", __func__ <<
" end");
526 uno::Reference<document::XDocumentProperties> xDocProps;
529 uno::Reference<document::XDocumentPropertiesSupplier> xDPS(pDocShell->
GetModel(),
531 xDocProps.set(xDPS->getDocumentProperties());
537 uno::Reference<beans::XPropertyContainer> xUserDefinedProperties
538 = xDocProps->getUserDefinedProperties();
539 if (xUserDefinedProperties.is())
541 uno::Reference<beans::XPropertySet> xPropertySet(xUserDefinedProperties,
543 uno::Reference<beans::XPropertySetInfo> xPropertySetInfo
544 = xPropertySet->getPropertySetInfo();
546 if (xPropertySetInfo->hasPropertyByName(
"Company"))
549 xPropertySet->getPropertyValue(
"Company") >>= aValue;
558 ::comphelper::string::convertCommaSeparated(xDocProps->getKeywords()));
591 uno::Reference<document::XDocumentProperties> xDocProps;
594 uno::Reference<document::XDocumentPropertiesSupplier> xDPS(pDocShell->
GetModel(),
596 xDocProps.set(xDPS->getDocumentProperties());
608 uno::Reference<beans::XPropertyContainer> xUserDefinedProperties
609 = xDocProps->getUserDefinedProperties();
610 if (xUserDefinedProperties.is())
612 uno::Reference<beans::XPropertySet> xPropertySet(xUserDefinedProperties,
615 = xPropertySet->getPropertySetInfo()->getProperties();
617 for (
const beans::Property& rProperty :
aProperties)
619 if (rProperty.Name.startsWith(
"Company"))
633 util::DateTime aDate;
634 uno::Any aAny = xPropertySet->getPropertyValue(rProperty.Name);
640 else if (aAny >>= aValue)
645 else if (aAny >>= fValue)
647 aValue = OUString::number(fValue);
648 if (aValue.indexOf(
'.') == -1)
661 else if (aAny >>= aDate)
665 aValue += OUString::number(aDate.Year) +
". ";
666 if (aDate.Month < 10)
668 aValue += OUString::number(aDate.Month) +
". ";
671 aValue += OUString::number(aDate.Day) +
".";
687 uno::Reference<text::XTextFieldsSupplier>
xModel(pDocShell->
GetModel(), uno::UNO_QUERY);
688 uno::Reference<container::XNameAccess> xTextFieldMasters =
xModel->getTextFieldMasters();
689 uno::Sequence<rtl::OUString> aMasterNames = xTextFieldMasters->getElementNames();
690 if (!aMasterNames.hasElements())
696 constexpr OUStringLiteral aPrefix(
u"com.sun.star.text.fieldmaster.User.");
697 for (
const auto& rMasterName : std::as_const(aMasterNames))
699 if (!rMasterName.startsWith(aPrefix))
705 uno::Reference<beans::XPropertySet> xField;
706 xTextFieldMasters->getByName(rMasterName) >>= xField;
712 OUString aKey = rMasterName.copy(aPrefix.getLength());
714 xField->getPropertyValue(
"Content") >>= aValue;
745 for (std::size_t
n = 0;
n < nSize; ++
n)
759 std::size_t
i = nSize;
794 m_pStyles = std::make_unique<MSWordStyles>(*
this);
839 m_pSections = std::make_unique<MSWordSections>(*
this);
850 if (!pSectionFormat->IsInUndo() && pSectionFormat->GetProtect().IsContentProtected())
887 std::size_t nPosInDoc;
963 nLnNumRestartNo = pSectionInfo->nLnNumRestartNo;
977 switch (rFootnoteInfo.
m_eNum)
1067 const SwPageDesc* pNewPgDesc,
bool bExtraPageBreak)
1072 OSL_ENSURE(pNewPgDescFormat || pNewPgDesc,
"Neither page desc format nor page desc provided.");
1074 if (pNewPgDescFormat)
1075 m_pSections->AppendSection(*pNewPgDescFormat, rNd, pFormat, nLnNm);
1076 else if (pNewPgDesc)
1077 m_pSections->AppendSection(pNewPgDesc, rNd, pFormat, nLnNm);
1081 ||
m_pAttrOutput->GetPrevPageDesc()->GetFollow() != pNewPgDesc)
1095 ->IsAssignedToListLevelOfOutlineStyle())
1138 m_pSections->AppendSection(pPageDesc, pFormat, nLnNum);
1143 std::shared_ptr<SwUnoCursor>& pCurrentPam,
SwPaM& rOriginalPam,
1144 Writer* pWriter,
bool bOutOutlineOnly)
1146 , m_pFilter(pFilter)
1147 , m_pWriter(pWriter)
1148 , m_bOutOutlineOnly(bOutOutlineOnly)
1149 , m_eDefaultEncoding(
1151 , m_eCurrentEncoding(m_eDefaultEncoding)
1152 , m_bRTFFlySyntax(false)
1153 , m_nCurrentNodeIndex(0)
1157 m_pAttrOutput = std::make_unique<RtfAttributeOutput>(*
this);
1195 if (rContent.empty())
1221 if (rEntry.second == rColor)
1223 SAL_INFO(
"sw.rtf", __func__ <<
" returning " << rEntry.first <<
" (" << rColor.
GetRed()
1226 return rEntry.first;
1228 OSL_FAIL(
"No such Color in m_aColTable!");
1235 bool bAutoColorInTable =
false;
1238 if (rEntry.second == rCol)
1241 bAutoColorInTable =
true;
1250 if (!bAutoColorInTable)
1254 m_aColTable.insert(std::pair<sal_uInt16, Color>(
n, rCol));
1340 for (
const sal_uInt16* pIds = aBrushIds; *pIds; ++pIds)
1364 if (
nullptr != pShadow)
1381 if (
nullptr != pBox)
1385 pBox =
dynamic_cast<const SvxBoxItem*
>(pItem);
1397 pCharBox =
dynamic_cast<const SvxBoxItem*
>(pItem);
1406 if (
auto pColorItem =
dynamic_cast<const XFillColorItem*
>(pItem))
1407 InsColor(pColorItem->GetColorValue());
1449 if (rEntry.second ==
nId)
1450 return &rEntry.first;
1456 SAL_INFO(
"sw.rtf", __func__ <<
" start");
1478 == SfxItemState::SET)
1481 == SfxItemState::SET)
1490 == SfxItemState::SET)
1493 == SfxItemState::SET)
1502 SAL_INFO(
"sw.rtf", __func__ <<
" end");
1510 if (!rHeader.IsActive())
1516 if (!rFooter.IsActive())
1520 SAL_INFO(
"sw.rtf", __func__ <<
" start");
1533 SAL_INFO(
"sw.rtf", __func__ <<
" end");
1539 SAL_INFO(
"sw.rtf", __func__ <<
" start");
1541 m_pAttrOutput->WriteHeaderFooter_Impl(rFormat, bHeader, pStr, bTitlepg);
1543 SAL_INFO(
"sw.rtf", __func__ <<
" end");
1549class SwRTFWriter :
public Writer
1552 bool m_bOutOutlineOnly;
1555 SwRTFWriter(std::u16string_view rFilterName,
const OUString& rBaseURL);
1561SwRTFWriter::SwRTFWriter(std::u16string_view rFilterName,
const OUString& rBaseURL)
1563 SetBaseURL(rBaseURL);
1568ErrCode SwRTFWriter::WriteStream()
1570 std::shared_ptr<SwUnoCursor> pCurPam(m_pDoc->CreateUnoCursor(*m_pCurrentPam->End(),
false));
1572 *pCurPam->GetPoint() = *m_pCurrentPam->Start();
1573 RtfExport aExport(
nullptr, *m_pDoc, pCurPam, *m_pCurrentPam,
this, m_bOutOutlineOnly);
1574 aExport.ExportDocument(
true);
1578extern "C" SAL_DLLPUBLIC_EXPORT
void ExportRTF(std::u16string_view rFltName,
1579 const OUString& rBaseURL,
WriterRef& xRet)
1581 xRet =
new SwRTFWriter(rFltName, rBaseURL);
@ DO_NOT_BREAK_WRAPPED_TABLES
PropertiesInfo aProperties
virtual void SectionPageNumbering(sal_uInt16 nNumType, const ::std::optional< sal_uInt16 > &oPageRestartNumber)=0
The style of the page numbers.
virtual void SectionLineNumbering(sal_uLong nRestartNo, const SwLineNumberInfo &rLnNumInfo)=0
Numbering of the lines in the document.
virtual void SectionBreaks(const SwNode &rNode)=0
Called in order to output section breaks.
virtual void SectionBreak(sal_uInt8 nC, bool bBreakAfter, const WW8_SepInfo *pSectionInfo=nullptr, bool bExtraPageBreak=false)=0
Write a section break msword::ColumnBreak or msword::PageBreak bBreakAfter: the break must be schedul...
sal_uInt8 GetBlue() const
sal_uInt8 GetGreen() const
virtual const SwViewShell * GetCurrentViewShell() const =0
Returns the layout set at the document.
virtual const SwRedlineTable & GetRedlineTable() const =0
Provides access to settings of a document.
virtual bool get(DocumentSettingId id) const =0
Return the specified document setting.
Base class for WW8Export and DocxExport.
void WriteText()
Iterate through the nodes and call the appropriate OutputNode() on them.
void WriteHeaderFooterText(const SwFormat &rFormat, bool bHeader)
Write header/footer text.
int CollectGrfsOfBullets()
Populates m_vecBulletPic with all the bullet graphics used by numberings.
RedlineFlags m_nOrigRedlineFlags
Remember the original redline mode.
std::vector< const Graphic * > m_vecBulletPic
Vector to record all the graphics of bullets.
std::unique_ptr< SvxBrushItem > getBackground()
Get background color of the document, if there is one.
bool m_bSubstituteBullets
std::unique_ptr< MSWordStyles > m_pStyles
ww8::WW8TableInfo::Pointer_t m_pTableInfo
std::vector< ::sw::mark::IMark * > IMarkVector
Used to split the runs according to the bookmarks start and ends.
wwFontHelper m_aFontHelper
static sal_uLong GetSectionLineNo(const SfxItemSet *pSet, const SwNode &rNd)
Line number of the section start.
const SwPageDesc * m_pCurrentPageDesc
bool GetBookmarks(const SwTextNode &rNd, sal_Int32 nStt, sal_Int32 nEnd, IMarkVector &rArr)
sal_uInt16 GetNumberingId(const SwNumRule &rNumRule)
Return the numeric id of the numbering rule.
bool GetAnnotationMarks(const SwWW8AttrIter &rAttrs, sal_Int32 nStt, sal_Int32 nEnd, IMarkVector &rArr)
void OutputFormat(const SwFormat &rFormat, bool bPapFormat, bool bChpFormat, bool bFlyFormat=false)
Output attributes.
virtual void OutputTextNode(SwTextNode &)
Output SwTextNode.
std::unique_ptr< SwNumRuleTable > m_pUsedNumTable
bool m_bOutPageDescs
PageDescs (section properties) are being written.
std::shared_ptr< SwUnoCursor > & m_pCurPam
static const SwSectionFormat * GetSectionFormat(const SwNode &rNd)
Format of the section.
void AbstractNumberingDefinitions()
Write all Levels for all SwNumRules - LVLF.
void BulletDefinitions()
Write the numbering picture bullets.
void NumberingDefinitions()
Write static data of SwNumRule - LSTF.
Class to collect and output the sections/headers/footers.
The physical access to the RTF document (for writing).
The class that does all the actual RTF export-related work.
void WriteNumbering() override
Write the numbering table.
void OutDateTime(std::string_view pStr, const css::util::DateTime &rDT)
sal_uInt16 GetColor(const Color &rColor) const
void WriteUserPropValue(std::u16string_view rValue)
Writes a single user property value.
void OutputGrfNode(const SwGrfNode &rGrfNode) override
Output SwGrfNode.
SwNodeOffset m_nCurrentNodeIndex
Index of the current SwTextNode, if any.
void WriteRevTab()
Write the revision table.
void OutputEndNode(const SwEndNode &rEndNode) override
Output SwEndNode.
std::unique_ptr< MSWordSections > m_pSections
Sections/headers/footers.
std::unique_ptr< RtfAttributeOutput > m_pAttrOutput
Attribute output for document.
void WriteFormData(const ::sw::mark::IFieldmark &rFieldmark) override
Write the data of the form field.
void WriteHeaderFooter(const SfxPoolItem &rItem, bool bHeader)
RtfColorTable m_aColTable
void WriteChar(sal_Unicode c) override
void setStream()
From now on, let Strm() return a memory stream, not a real one.
std::map< OUString, sal_uInt16 > m_aRedlineTable
std::unique_ptr< RtfSdrExport > m_pSdrExport
void OutPageDescription(const SwPageDesc &rPgDsc, bool bCheckForFirstPage)
const SfxItemSet * m_pFirstPageItemSet
Item set of the first page during export of a follow page format.
void OutputOLENode(const SwOLENode &rOLENode) override
Output SwOLENode.
RtfExport(RtfExportFilter *pFilter, SwDoc &rDocument, std::shared_ptr< SwUnoCursor > &pCurrentPam, SwPaM &rOriginalPam, Writer *pWriter, bool bOutOutlineOnly=false)
Pass the pDocument, pCurrentPam and pOriginalPam to the base class.
MSWordSections & Sections() const override
Access to the sections/headers/footres.
void AppendAnnotationMarks(const SwWW8AttrIter &rAttrs, sal_Int32 nCurrentPos, sal_Int32 nLen) override
void WriteHeadersFooters(sal_uInt8 nHeadFootFlags, const SwFrameFormat &rFormat, const SwFrameFormat &rLeftHeaderFormat, const SwFrameFormat &rLeftFooterFormat, const SwFrameFormat &rFirstPageFormat, sal_uInt8 nBreakCode, bool bEvenAndOddHeaders) override
Output the actual headers and footers.
std::unique_ptr< SvMemoryStream > m_pStream
If set, then Strm() returns this stream, instead of m_pWriter's stream.
void OutUnicode(std::string_view pToken, std::u16string_view rContent, bool bUpr=false)
void OutputTextNode(SwTextNode &rNode) override
Output SwTextNode is depending on outline export mode.
void InsColorLine(const SvxBoxItem &rBox)
void AppendBookmark(const OUString &rName) override
void WriteUserPropType(int nType)
Writes a single user property type.
void AppendBookmarks(const SwTextNode &rNode, sal_Int32 nCurrentPos, sal_Int32 nLen, const SwRedlineData *pSwRedlineData=nullptr) override
OString getStream()
Get the contents of the memory stream as a string.
void WriteUserProps()
Writes the userprops group: user defined document properties.
rtl_TextEncoding m_eCurrentEncoding
AttributeOutputBase & AttrOutput() const override
Access to the attribute output class.
void DoFormText(const SwInputField *pField) override
void OutputField(const SwField *pField, ww::eField eFieldType, const OUString &rFieldCmd, FieldFlags nMode=FieldFlags::All) override
Write the field.
void BuildNumbering()
This is necessary to have the numbering table ready before the main text is being processed.
ErrCode ExportDocument_Impl() override
Format-dependent part of the actual export.
void PrepareNewPageDesc(const SfxItemSet *pSet, const SwNode &rNd, const SwFormatPageDesc *pNewPgDescFormat, const SwPageDesc *pNewPgDesc, bool bExtraPageBreak=false) override
Get ready for a new section.
void OutputLinkedOLE(const OUString &rLink) override
void AppendSection(const SwPageDesc *pPageDesc, const SwSectionFormat *pFormat, sal_uLong nLnNum) override
sal_uInt16 GetRedline(const OUString &rAuthor)
bool DisallowInheritingOutlineNumbering(const SwFormat &rFormat) override
Return value indicates if an inherited outline numbering is suppressed.
void resetStream()
Return back to the real stream.
void WritePageDescTable()
Writes the writer-specific \pgdsctbl group.
void DoComboBox(const OUString &rName, const OUString &rHelp, const OUString &ToolTip, const OUString &rSelected, const css::uno::Sequence< OUString > &rListItems) override
void WriteFootnoteSettings()
RtfSdrExport & SdrExporter() const
Access to the Rtf Sdr exporter.
void InsColor(const Color &rCol)
void ExportGrfBullet(const SwTextNode &rNd) override
~RtfExport() override
Destructor.
RtfExportFilter * m_pFilter
Pointer to the filter that owns us.
std::map< sal_uInt16, OString > m_aStyTable
bool CollapseScriptsforWordOk(sal_uInt16 nScript, sal_uInt16 nWhich) override
Guess the script (asian/western).
void WriteHyperlinkData(const ::sw::mark::IFieldmark &rFieldmark) override
void WriteDocVars()
Writes document variables.
OString * GetStyle(sal_uInt16 nId)
sal_uInt64 ReplaceCr(sal_uInt8 nChar) override
void InsStyle(sal_uInt16 nId, const OString &rStyle)
rtl_TextEncoding m_eDefaultEncoding
Handles export of drawings using RTF markup.
Item2Range GetItemSurrogates(sal_uInt16 nWhich) const
const SfxPoolItem & GetDefaultItem(sal_uInt16 nWhich) const
const SfxPoolItem * GetPoolDefaultItem(sal_uInt16 nWhich) const
SfxItemState GetItemState(sal_uInt16 nWhich, bool bSrchInParent=true, const SfxPoolItem **ppItem=nullptr) const
const SfxPoolItem & Get(sal_uInt16 nWhich, bool bSrchInParent=true) const
css::uno::Reference< css::frame::XModel3 > GetModel() const
constexpr tools::Long Height() const
constexpr tools::Long Width() const
SvStream & WriteInt32(sal_Int32 nInt32)
SvStream & WriteNumberAsString(N n)
SvStream & WriteOString(std::string_view rStr)
SvStream & WriteChar(char nChar)
const editeng::SvxBorderLine * GetTop() const
const editeng::SvxBorderLine * GetRight() const
const editeng::SvxBorderLine * GetLeft() const
const editeng::SvxBorderLine * GetBottom() const
tools::Long GetRight() const
tools::Long GetLeft() const
SvxNumType GetNumberingType() const
static Size GetPaperSize(Paper ePaper, MapUnit eUnit=MapUnit::MapTwip)
tools::Long GetHeight() const
tools::Long GetWidth() const
sal_uInt16 GetUpper() const
sal_uInt16 GetLower() const
const SwAttrSet & GetSwAttrSet() const
Does node has already its own auto-attributes? Access to SwAttrSet.
SwPageDesc * FindPageDesc(const OUString &rName, size_t *pPos=nullptr) const
SwSectionFormats & GetSections()
const SwFootnoteInfo & GetFootnoteInfo() const
bool IsUsed(const sw::BroadcastingModify &) const
size_t GetPageDescCnt() const
const SwNumRuleTable & GetNumRuleTable() const
SwNumRule * GetOutlineNumRule() const
const SwLineNumberInfo & GetLineNumberInfo() const
IDocumentRedlineAccess const & getIDocumentRedlineAccess() const
IDocumentLayoutAccess const & getIDocumentLayoutAccess() const
IDocumentSettingAccess const & getIDocumentSettingAccess() const
const SwEndNoteInfo & GetEndNoteInfo() const
const SwAttrPool & GetAttrPool() const
::sw::MetaFieldManager & GetMetaFieldManager()
SwDocShell * GetDocShell()
const SwPageDesc & GetPageDesc(const size_t i) const
Ends a section of nodes in the document model.
sal_uInt16 m_nFootnoteOffset
Base class of all fields.
OUString ExpandField(bool bCached, SwRootFrame const *pLayout) const
expand the field.
Pagedescriptor Client of SwPageDesc that is "described" by the attribute.
SwPageDesc * GetPageDesc()
< purpose of derivation from SwClient: character style for displaying the numbers.
bool IsPaintLineNumbers() const
Base class of the Writer document model elements.
SwSectionNode * GetSectionNode()
SwNodeOffset GetIndex() const
bool IsContentNode() const
bool IsSectionNode() const
const SwStartNode * StartOfSectionNode() const
SwContentNode * GetContentNode()
SwTableNode * GetTableNode()
const SwEndNode * EndOfSectionNode() const
SwNode & GetEndOfExtras() const
This is the last EndNode of a special section.
SwNode & GetEndOfContent() const
Regular ContentSection (i.e. the BodyText).
const SwNumFormat * GetNumFormat(sal_uInt16 i) const
const SwNumFormat & Get(sal_uInt16 i) const
PaM is Point and Mark: a selection of the document model.
const OUString & GetName() const
SwFrameFormat & GetMaster()
const SvxNumberType & GetNumType() const
bool GetLandscape() const
SwFrameFormat & GetLeft()
const SwPageDesc * GetFollow() const
const SwPageFootnoteInfo & GetFootnoteInfo() const
UseOnPage ReadUseOn() const
const SwSection & GetSection() const
SwSectionFormat * GetFormat()
const SwTable & GetTable() const
SwTableFormat * GetFrameFormat()
Represents the style of a paragraph.
SwTextNode is a paragraph in the document model.
bool IsOutline() const
Returns if this text node is an outline.
SvxZoomType GetZoomType() const
sal_uInt16 GetZoom() const
const SwViewOption * GetViewOptions() const
bool m_bWriteOnlyFirstTable
virtual ErrCode WriteStream()=0
const Color & GetColor() const
static OUString GetGeneratorString()
sal_uInt16 GetId(const SvxFontItem &rFont)
void WriteFontTable(SvStream *pTableStream, WW8Fib &pFib)
bool m_bLoadAllFonts
If true, all fonts are loaded before processing the document.
constexpr ::Color COL_LIGHTRED(0xFF, 0x00, 0x00)
constexpr ::Color COL_GRAY(0x80, 0x80, 0x80)
constexpr ::Color COL_GREEN(0x00, 0x80, 0x00)
constexpr ::Color COL_WHITE(0xFF, 0xFF, 0xFF)
constexpr ::Color COL_LIGHTCYAN(0x00, 0xFF, 0xFF)
constexpr ::Color COL_MAGENTA(0x80, 0x00, 0x80)
constexpr ::Color COL_LIGHTMAGENTA(0xFF, 0x00, 0xFF)
constexpr ::Color COL_BROWN(0x80, 0x80, 0x00)
constexpr ::Color COL_YELLOW(0xFF, 0xFF, 0x00)
constexpr ::Color COL_RED(0x80, 0x00, 0x00)
constexpr ::Color COL_AUTO(ColorTransparency, 0xFF, 0xFF, 0xFF, 0xFF)
constexpr ::Color COL_LIGHTGRAY(0xC0, 0xC0, 0xC0)
constexpr ::Color COL_LIGHTBLUE(0x00, 0x00, 0xFF)
constexpr ::Color COL_CYAN(0x00, 0x80, 0x80)
constexpr ::Color COL_LIGHTGREEN(0x00, 0xFF, 0x00)
constexpr ::Color COL_BLUE(0x00, 0x00, 0x80)
constexpr ::Color COL_BLACK(0x00, 0x00, 0x00)
#define SAL_NEWLINE_STRING
constexpr TypedWhichId< SvxUnderlineItem > RES_CHRATR_UNDERLINE(14)
constexpr TypedWhichId< SvxFontHeightItem > RES_CHRATR_FONTSIZE(8)
constexpr TypedWhichId< SvxWeightItem > RES_CHRATR_WEIGHT(15)
constexpr TypedWhichId< SwFormatHeader > RES_HEADER(102)
constexpr TypedWhichId< SvxFontHeightItem > RES_CHRATR_CJK_FONTSIZE(23)
constexpr TypedWhichId< SvxShadowItem > RES_SHADOW(113)
constexpr TypedWhichId< SwFormatPageDesc > RES_PAGEDESC(99)
constexpr TypedWhichId< SvxBrushItem > RES_BACKGROUND(111)
constexpr TypedWhichId< SvxBrushItem > RES_CHRATR_BACKGROUND(21)
constexpr TypedWhichId< SvxPostureItem > RES_CHRATR_POSTURE(11)
constexpr TypedWhichId< SwFormatFooter > RES_FOOTER(103)
constexpr TypedWhichId< SwNumRuleItem > RES_PARATR_NUMRULE(72)
constexpr TypedWhichId< SvxOverlineItem > RES_CHRATR_OVERLINE(38)
constexpr TypedWhichId< SvxBoxItem > RES_BOX(112)
constexpr TypedWhichId< SvxWeightItem > RES_CHRATR_CJK_WEIGHT(26)
constexpr TypedWhichId< SvxFontItem > RES_CHRATR_FONT(7)
constexpr TypedWhichId< SvxPostureItem > RES_CHRATR_CJK_POSTURE(25)
constexpr TypedWhichId< SvxBoxItem > RES_CHRATR_BOX(40)
constexpr TypedWhichId< SvxColorItem > RES_CHRATR_COLOR(3)
const SfxPoolItem * GetDfltAttr(sal_uInt16 nWhich)
Get the default attribute from corresponding default attribute table.
DECL_LISTENERMULTIPLEXER_END void SAL_CALL inserted(::sal_Int32 ID) override
#define SAL_INFO(area, stream)
OString OutStringUpr(std::string_view pToken, std::u16string_view rStr, rtl_TextEncoding eDestEnc)
OString OutString(std::u16string_view rStr, rtl_TextEncoding eDestEnc, bool bUnicode=true)
const sal_uInt8 PageBreak
const HdFtFlags WW8_HEADER_FIRST
const HdFtFlags WW8_FOOTER_ODD
const HdFtFlags WW8_FOOTER_EVEN
const HdFtFlags WW8_HEADER_EVEN
const HdFtFlags WW8_FOOTER_FIRST
const HdFtFlags WW8_HEADER_ODD
constexpr bool starts_with(std::basic_string_view< charT, traits > sv, std::basic_string_view< charT, traits > x) noexcept
OString OUStringToOString(std::u16string_view str, ConnectionSettings const *settings)
sal_uInt8 rtl_TextEncodingToWinCharset(rtl_TextEncoding eTextEncoding)
MSOffice appears to set the charset of unicode fonts to MS 932.
Dialog to specify the properties of date form field.
sal_uInt32 RGBToBGR(::Color nColour)
o3tl::strong_int< sal_Int32, struct Tag_SwNodeOffset > SwNodeOffset
constexpr OUStringLiteral ODF_FORMDROPDOWN_RESULT
constexpr OUStringLiteral ODF_FORMDROPDOWN_LISTENTRY
constexpr OUStringLiteral ODF_FORMDROPDOWN
SAL_DLLPUBLIC_EXPORT void ExportRTF(std::u16string_view rFltName, const OUString &rBaseURL, WriterRef &xRet)
static bool IsExportNumRule(const SwNumRule &rRule)
#define OOO_STRING_SVTOOLS_RTF_AFTNNRLC
#define OOO_STRING_SVTOOLS_RTF_DY
#define OOO_STRING_SVTOOLS_RTF_STATICVAL
#define OOO_STRING_SVTOOLS_RTF_REVTIM
#define OOO_STRING_SVTOOLS_RTF_COMPANY
#define OOO_STRING_SVTOOLS_RTF_FTNRESTART
#define OOO_STRING_SVTOOLS_RTF_TITLEPG
#define OOO_STRING_SVTOOLS_RTF_AENDDOC
#define OOO_STRING_SVTOOLS_RTF_FLDRSLT
#define OOO_STRING_SVTOOLS_RTF_SECTD
#define OOO_STRING_SVTOOLS_RTF_SUBJECT
#define OOO_STRING_SVTOOLS_RTF_FFDEFTEXT
#define OOO_STRING_SVTOOLS_RTF_SV
#define OOO_STRING_SVTOOLS_RTF_LISTTABLE
#define OOO_STRING_SVTOOLS_RTF_PGDSCNXT
#define OOO_STRING_SVTOOLS_RTF_PGDSCUSE
#define OOO_STRING_SVTOOLS_RTF_MARGL
#define OOO_STRING_SVTOOLS_RTF_FTNBJ
#define LO_STRING_SVTOOLS_RTF_HTMAUTSP
#define LO_STRING_SVTOOLS_RTF_NOBRKWRPTBL
#define OOO_STRING_SVTOOLS_RTF_RED
#define OOO_STRING_SVTOOLS_RTF_MIN
#define OOO_STRING_SVTOOLS_RTF_CHFTNSEP
#define OOO_STRING_SVTOOLS_RTF_BACKGROUND
#define OOO_STRING_SVTOOLS_RTF_KEYWORDS
#define OOO_STRING_SVTOOLS_RTF_FTNRSTCONT
#define OOO_STRING_SVTOOLS_RTF_FFL
#define OOO_STRING_SVTOOLS_RTF_MARGR
#define OOO_STRING_SVTOOLS_RTF_AUTHOR
#define OOO_STRING_SVTOOLS_RTF_RTF
#define OOO_STRING_SVTOOLS_RTF_CREATIM
#define OOO_STRING_SVTOOLS_RTF_FOOTER
#define OOO_STRING_SVTOOLS_RTF_HEADER
#define OOO_STRING_SVTOOLS_RTF_FFNAME
#define OOO_STRING_SVTOOLS_RTF_REVISIONS
#define OOO_STRING_SVTOOLS_RTF_FORMPROT
#define LO_STRING_SVTOOLS_RTF_VIEWBKSP
#define OOO_STRING_SVTOOLS_RTF_AFTNNCHI
#define OOO_STRING_SVTOOLS_RTF_FFOWNSTAT
#define OOO_STRING_SVTOOLS_RTF_FFTYPETXT
#define OOO_STRING_SVTOOLS_RTF_FTNNRUC
#define OOO_STRING_SVTOOLS_RTF_PRINTIM
#define OOO_STRING_SVTOOLS_RTF_FTNSTART
#define OOO_STRING_SVTOOLS_RTF_SP
#define OOO_STRING_SVTOOLS_RTF_AFTNNAR
#define OOO_STRING_SVTOOLS_RTF_FOOTERL
#define OOO_STRING_SVTOOLS_RTF_AFTNSTART
#define OOO_STRING_SVTOOLS_RTF_SHP
#define OOO_STRING_SVTOOLS_RTF_ENDDOC
#define OOO_STRING_SVTOOLS_RTF_FFHASLISTBOX
#define OOO_STRING_SVTOOLS_RTF_DOCVAR
#define OOO_STRING_SVTOOLS_RTF_HEADERL
#define OOO_STRING_SVTOOLS_RTF_VIEWSCALE
#define OOO_STRING_SVTOOLS_RTF_AFTNNAUC
#define OOO_STRING_SVTOOLS_RTF_YR
#define OOO_STRING_SVTOOLS_RTF_AFTNRSTCONT
#define OOO_STRING_SVTOOLS_RTF_HEADERF
#define OOO_STRING_SVTOOLS_RTF_TITLE
#define OOO_STRING_SVTOOLS_RTF_FFTYPE
#define OOO_STRING_SVTOOLS_RTF_LISTOVERRIDETABLE
#define OOO_STRING_SVTOOLS_RTF_FFSTATTEXT
#define OOO_STRING_SVTOOLS_RTF_AFTNNALC
#define LO_STRING_SVTOOLS_RTF_LISTPICTURE
#define OOO_STRING_SVTOOLS_RTF_HYPHAUTO
#define OOO_STRING_SVTOOLS_RTF_SHPINST
#define OOO_STRING_SVTOOLS_RTF_FTNNRLC
#define OOO_STRING_SVTOOLS_RTF_PGDSCTBL
#define OOO_STRING_SVTOOLS_RTF_BLUE
#define OOO_STRING_SVTOOLS_RTF_FFOWNHELP
#define OOO_STRING_SVTOOLS_RTF_FORMSHADE
#define OOO_STRING_SVTOOLS_RTF_PAPERW
#define OOO_STRING_SVTOOLS_RTF_FTNSEP
#define OOO_STRING_SVTOOLS_RTF_ANSI
#define OOO_STRING_SVTOOLS_RTF_FTNNAR
#define OOO_STRING_SVTOOLS_RTF_FLDINST
#define OOO_STRING_SVTOOLS_RTF_DOCCOMM
#define OOO_STRING_SVTOOLS_RTF_INFO
#define OOO_STRING_SVTOOLS_RTF_FOOTERF
#define OOO_STRING_SVTOOLS_RTF_MARGMIRROR
#define OOO_STRING_SVTOOLS_RTF_USERPROPS
#define OOO_STRING_SVTOOLS_RTF_LEVEL
#define OOO_STRING_SVTOOLS_RTF_LANDSCAPE
#define OOO_STRING_SVTOOLS_RTF_FIELD
#define OOO_STRING_SVTOOLS_RTF_FFRES
#define OOO_STRING_SVTOOLS_RTF_SN
#define OOO_STRING_SVTOOLS_RTF_GREEN
#define OOO_STRING_SVTOOLS_RTF_PGDSC
#define OOO_STRING_SVTOOLS_RTF_IGNORE
#define OOO_STRING_SVTOOLS_RTF_SBKNONE
#define LO_STRING_SVTOOLS_RTF_GUTTERPRL
#define OOO_STRING_SVTOOLS_RTF_AFTNNRUC
#define OOO_STRING_SVTOOLS_RTF_HR
#define OOO_STRING_SVTOOLS_RTF_SECTUNLOCKED
#define OOO_STRING_SVTOOLS_RTF_FTNNCHI
#define OOO_STRING_SVTOOLS_RTF_PAPERH
#define OOO_STRING_SVTOOLS_RTF_PROPTYPE
#define OOO_STRING_SVTOOLS_RTF_FFHELPTEXT
#define OOO_STRING_SVTOOLS_RTF_PROPNAME
#define OOO_STRING_SVTOOLS_RTF_LNDSCPSXN
#define OOO_STRING_SVTOOLS_RTF_REVTBL
#define OOO_STRING_SVTOOLS_RTF_FORMFIELD
#define OOO_STRING_SVTOOLS_RTF_FTNNALC
#define LO_STRING_SVTOOLS_RTF_GENERATOR
#define OOO_STRING_SVTOOLS_RTF_MO
#define OOO_STRING_SVTOOLS_RTF_FONTTBL
#define OOO_STRING_SVTOOLS_RTF_MARGT
#define OOO_STRING_SVTOOLS_RTF_FTNRSTPG
#define OOO_STRING_SVTOOLS_RTF_PGDSCNO
#define OOO_STRING_SVTOOLS_RTF_MARGB
#define OOO_STRING_SVTOOLS_RTF_FTNNAUC
#define OOO_STRING_SVTOOLS_RTF_DEFF
Reference< XModel > xModel
SVX_NUM_CHARS_LOWER_LETTER_N
SVX_NUM_CHARS_LOWER_LETTER
SVX_NUM_CHARS_UPPER_LETTER
SVX_NUM_CHARS_UPPER_LETTER_N
constexpr sal_uInt8 MAXLEVEL
constexpr TypedWhichId< XFillColorItem > XATTR_FILLCOLOR(XATTR_FILL_FIRST+1)