3#ifndef PDFSDK_TEXT_EDIT_H_INCLUDED_
4#define PDFSDK_TEXT_EDIT_H_INCLUDED_
11#include <pdfsdk/core.h>
12#include <pdfsdk/export.h>
14#ifdef PDF_TEXTEDIT_EXPORTS
15#define PDF_TEXTEDIT_API PDFSDK_EXPORT_
17#define PDF_TEXTEDIT_API PDFSDK_IMPORT_
24typedef struct PDTLayoutRec_* PDTLayout;
26typedef struct PDTTextBlockRec_* PDTTextBlock;
28typedef struct PDTCharIteratorRec_* PDTCharIterator;
49 PDColorValue highlight;
50 PDColorValue strikeout;
51 PDColorValue underline;
72 float firstLineIndent;
116typedef struct PDTTextCommandRec_* PDTTextCommand;
120PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDPageBuildTextLayout(PDPage page, PDTLayout* pLayout);
121PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDEFormXObjectBuildTextLayout(PDDoc doc,
125PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTLayoutSetUserName(PDTLayout layout,
const wchar_t* chars,
size_t numChars);
127PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTLayoutNewTextBlock(PDTLayout layout,
129 PDTTextBlock* pBlock);
130PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTLayoutInsertTextBlock(PDTLayout layout,
133PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTLayoutRemoveTextBlock(PDTLayout layout,
size_t index);
134PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTLayoutGetNumTextBlocks(PDTLayout layout,
size_t* pNumBlocks);
135PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTLayoutGetTextBlock(PDTLayout layout,
137 PDTTextBlock* pBlock);
138PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTLayoutGetTextBlockIndex(PDTLayout layout,
143PDF_TEXTEDIT_API
bool PDFSDK_CALLCONV PDTTextBlockEqual(PDTTextBlock a, PDTTextBlock b);
144PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTTextBlockGetPosition(PDTTextBlock block,
PDPointF* pPos);
145PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTTextBlockGetSize(PDTTextBlock block,
PDSizeF* pSize);
146PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTTextBlockGetRotate(PDTTextBlock block,
float* pRotate);
147PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTTextBlockIsReflected(PDTTextBlock block,
bool* pReflected);
148PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTTextBlockGetBBox(PDTTextBlock block,
PDRectF* pBBox);
149PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTTextBlockGetCharBegin(PDTLayout layout,
152PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTTextBlockGetCharEnd(PDTLayout layout,
155PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTTextBlockCreateTextElement(PDTTextBlock block,
157PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTTextBlockIsExplicitWidth(PDTTextBlock block,
bool* pValue);
158PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTTextBlockSetExplicitWidth(PDTTextBlock block,
bool value);
161PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCharIteratorAtBeginPage(PDTLayout layout, PDTCharIterator*);
162PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCharIteratorAtEndPage(PDTLayout layout, PDTCharIterator*);
163PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCharIteratorAtPoint(PDTLayout layout,
166PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCharIteratorForItem(PDTLayout layout,
170PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCharIteratorForItemAtPoint(PDTLayout layout,
174PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCharIteratorGetBlockBegin(PDTCharIterator, PDTCharIterator*);
177PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCharIteratorGetBlockEnd(PDTCharIterator, PDTCharIterator*);
180PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCharIteratorGetParaBegin(PDTCharIterator, PDTCharIterator*);
183PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCharIteratorGetParaEnd(PDTCharIterator, PDTCharIterator*);
186PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCharIteratorGetLineBegin(PDTCharIterator, PDTCharIterator*);
189PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCharIteratorGetLineEnd(PDTCharIterator, PDTCharIterator*);
192PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCharIteratorGetWordBegin(PDTCharIterator, PDTCharIterator*);
195PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCharIteratorGetWordEnd(PDTCharIterator, PDTCharIterator*);
198PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCharIteratorGetSpanBegin(PDTCharIterator, PDTCharIterator*);
201PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCharIteratorGetSpanEnd(PDTCharIterator, PDTCharIterator*);
203PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCharIteratorGetAbove(PDTCharIterator, PDTCharIterator*);
204PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCharIteratorGetAboveAtPage(PDTCharIterator,
207PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCharIteratorGetBelow(PDTCharIterator, PDTCharIterator*);
208PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCharIteratorGetBelowAtPage(PDTCharIterator,
211PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCharIteratorCopy(PDTCharIterator, PDTCharIterator* pCopy);
212PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCharIteratorIncrement(PDTCharIterator);
213PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCharIteratorDecrement(PDTCharIterator);
214PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCharIteratorAdvance(PDTCharIterator,
int n);
215PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCharIteratorDistance(PDTCharIterator,
218PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCharIteratorLess(PDTCharIterator, PDTCharIterator,
bool*);
219PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCharIteratorEqual(PDTCharIterator, PDTCharIterator,
bool*);
220PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCharIteratorGetUnicode(PDTCharIterator,
224PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCharIteratorGetPageIndex(PDTCharIterator,
size_t*);
225PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCharIteratorGetQuad(PDTCharIterator,
PDQuad* pQuad);
226PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCharIteratorGetOutlineQuad(PDTCharIterator,
PDQuad* pQuad);
227PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCharIteratorGetTextBlock(PDTCharIterator, PDTTextBlock* pBlock);
228PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCharIteratorGetFontAttrs(PDTCharIterator,
230PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCharIteratorGetParaAttrs(PDTCharIterator,
232PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCharIteratorGetListAttrs(PDTCharIterator,
234PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCharIteratorGetTransform(PDTCharIterator,
PDMatrix*);
235PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCharIteratorGetTextItem(PDTCharIterator iter,
240PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTFontWasSubstituted(
bool* pSubstituted);
242PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCreateDeleteTextCommand(PDDoc doc,
245 PDTTextCommand* pCmd);
246PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCreateInsertTextCommand(PDDoc doc,
249 const wchar_t* chars,
251 PDTTextCommand* pCmd);
252PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCreateReplaceTextCommand(PDDoc doc,
256 const wchar_t* chars,
258 PDTTextCommand* pCmd);
260PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCreateChangeFontCommand(PDDoc doc,
265 PDTTextCommand* pCmd);
266PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCreateChangeFontStyleCommand(PDDoc doc,
269 PDFontStyle fontStyle,
270 PDTTextCommand* pCmd);
271PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCreateChangeFontSizeCommand(PDDoc doc,
275 PDTTextCommand* pCmd);
276PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCreateChangeFontColorCommand(PDDoc doc,
279 PDColorValue fontColor,
280 PDTTextCommand* pCmd);
281PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCreateChangeEscapementCommand(PDDoc doc,
282 PDTCharIterator begin,
285 PDTTextCommand* cmd);
286PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCreateChangeHorzScalingCommand(PDDoc doc,
287 PDTCharIterator begin,
290 PDTTextCommand* pCmd);
291PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCreateChangeCharSpacingCommand(PDDoc doc,
292 PDTCharIterator begin,
295 PDTTextCommand* pCmd);
297PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCreateChangeFontHighlightColorCommand(PDDoc doc,
300 PDColorValue fontColor,
301 PDTTextCommand* pCmd);
302PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCreateChangeFontStrikeoutColorCommand(PDDoc doc,
305 PDColorValue fontColor,
306 PDTTextCommand* pCmd);
307PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCreateChangeFontUnderlineColorCommand(PDDoc doc,
310 PDColorValue fontColor,
311 PDTTextCommand* pCmd);
313PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCreateChangeParaAttrsCommand(PDDoc doc,
314 PDTCharIterator iter,
316 PDTTextCommand* cmd);
318PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCreateNewTextBlockCommand(PDDoc doc,
323 PDTTextCommand* pCmd);
324PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCreateDeleteTextBlockCommand(PDDoc doc,
327 PDTTextCommand* pCmd);
328PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCreateMergeTextBlocksCommand(PDDoc doc,
329 PDTCharIterator begin,
331 PDTTextCommand* pCmd);
332PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCreateUpdateTextBlocksCommand(PDDoc doc,
334 PDTTextCommand* pCmd);
335PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCreateMoveTextBlockCommand(PDDoc doc,
339 PDTTextCommand* pCmd);
340PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCreateRotateTextBlockCommand(PDDoc doc,
344 PDTTextCommand* pCmd);
345PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCreateScaleTextBlockCommand(PDDoc doc,
349 PDTTextCommand* pCmd);
350PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCreateResizeTextBlockCommand(PDDoc doc,
354 PDTTextCommand* pCmd);
355PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCreateSyncWithContentCommand(PDDoc doc,
359 PDTTextCommand* pCmd);
360PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCreateChangeListStyleCommand(PDDoc doc,
361 PDTCharIterator begin,
364 PDTTextCommand* pCmd);
365PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCreateChangeListLevelCommand(PDDoc doc,
366 PDTCharIterator begin,
369 PDTTextCommand* pCmd);
371PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCreateRemoveAnnotFromLayoutCommand(PDDoc doc,
374 PDTTextCommand* pCmd);
376PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTTextCommandDo(PDTTextCommand cmd);
377PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTTextCommandUndo(PDTTextCommand cmd);
379PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTTextCommandIsFontSubstituted(PDTTextCommand cmd,
bool* pSubstituted);
int32_t PDErrCode
Definition errors.h:44
Definition math_types.h:60
Definition math_types.h:12
Definition math_types.h:52
Definition math_types.h:30
Definition math_types.h:24
Definition text_edit.h:42
Definition text_edit.h:109
Definition text_edit.h:90
Definition text_edit.h:68
PDTEscapement
Defines the vertical position of text relative to the baseline.
Definition text_edit.h:36
@ kPDTEscapementSuperscript
Definition text_edit.h:39
@ kPDTEscapementSubscript
Definition text_edit.h:38
@ kPDTEscapementNone
Definition text_edit.h:37
PDTListLabelType
Defines the type of marker used to identify and distinguish list items within a list.
Definition text_edit.h:81
@ kPDTListLabelBullet
Definition text_edit.h:82
@ kPDTListLabelLetterCapital
Definition text_edit.h:87
@ kPDTListLabelRomanCapital
Definition text_edit.h:85
@ kPDTListLabelRomanSmall
Definition text_edit.h:84
@ kPDTListLabelLetterSmall
Definition text_edit.h:86
@ kPDTListLabelDecimal
Definition text_edit.h:83
PDTAlignment
Defines the positioning of text or graphical elements relative to a defined axis or margins.
Definition text_edit.h:59
@ kPDTAlignmentCentered
Definition text_edit.h:62
@ kPDTAlignmentJustify
Definition text_edit.h:64
@ kPDTAlignmentLeft
Definition text_edit.h:60
@ kPDTAlignmentRight
Definition text_edit.h:61
PDTListItemType
Defines the classification of individual list items within a structured list.
Definition text_edit.h:102
@ kPDTListItemFirst
Definition text_edit.h:104
@ kPDTListItemNone
Definition text_edit.h:103
@ kPDTListItemNext
Definition text_edit.h:105
@ kPDTListItemContinue
Definition text_edit.h:106