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 PDTCreateDeleteTextCommand(PDDoc doc,
243 PDTTextCommand* pCmd);
244PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCreateInsertTextCommand(PDDoc doc,
247 const wchar_t* chars,
249 PDTTextCommand* pCmd);
250PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCreateReplaceTextCommand(PDDoc doc,
254 const wchar_t* chars,
256 PDTTextCommand* pCmd);
258PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCreateChangeFontCommand(PDDoc doc,
263 PDTTextCommand* pCmd);
264PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCreateChangeFontStyleCommand(PDDoc doc,
268 PDTTextCommand* pCmd);
269PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCreateChangeFontSizeCommand(PDDoc doc,
273 PDTTextCommand* pCmd);
274PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCreateChangeFontColorCommand(PDDoc doc,
277 PDColorValue fontColor,
278 PDTTextCommand* pCmd);
279PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCreateChangeEscapementCommand(PDDoc doc,
280 PDTCharIterator begin,
283 PDTTextCommand* cmd);
284PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCreateChangeHorzScalingCommand(PDDoc doc,
285 PDTCharIterator begin,
288 PDTTextCommand* pCmd);
289PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCreateChangeCharSpacingCommand(PDDoc doc,
290 PDTCharIterator begin,
293 PDTTextCommand* pCmd);
295PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCreateChangeFontHighlightColorCommand(PDDoc doc,
298 PDColorValue fontColor,
299 PDTTextCommand* pCmd);
300PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCreateChangeFontStrikeoutColorCommand(PDDoc doc,
303 PDColorValue fontColor,
304 PDTTextCommand* pCmd);
305PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCreateChangeFontUnderlineColorCommand(PDDoc doc,
308 PDColorValue fontColor,
309 PDTTextCommand* pCmd);
311PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCreateChangeParaAttrsCommand(PDDoc doc,
312 PDTCharIterator iter,
314 PDTTextCommand* cmd);
316PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCreateNewTextBlockCommand(PDDoc doc,
321 PDTTextCommand* pCmd);
322PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCreateDeleteTextBlockCommand(PDDoc doc,
325 PDTTextCommand* pCmd);
326PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCreateMergeTextBlocksCommand(PDDoc doc,
327 PDTCharIterator begin,
329 PDTTextCommand* pCmd);
330PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCreateUpdateTextBlocksCommand(PDDoc doc,
332 PDTTextCommand* pCmd);
333PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCreateMoveTextBlockCommand(PDDoc doc,
337 PDTTextCommand* pCmd);
338PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCreateRotateTextBlockCommand(PDDoc doc,
342 PDTTextCommand* pCmd);
343PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCreateScaleTextBlockCommand(PDDoc doc,
347 PDTTextCommand* pCmd);
348PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCreateResizeTextBlockCommand(PDDoc doc,
352 PDTTextCommand* pCmd);
353PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCreateSyncWithContentCommand(PDDoc doc,
357 PDTTextCommand* pCmd);
358PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCreateChangeListStyleCommand(PDDoc doc,
359 PDTCharIterator begin,
362 PDTTextCommand* pCmd);
363PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCreateChangeListLevelCommand(PDDoc doc,
364 PDTCharIterator begin,
367 PDTTextCommand* pCmd);
369PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTCreateRemoveAnnotFromLayoutCommand(PDDoc doc,
372 PDTTextCommand* pCmd);
374PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTTextCommandDo(PDTTextCommand cmd);
375PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTTextCommandUndo(PDTTextCommand cmd);
377PDF_TEXTEDIT_API
PDErrCode PDFSDK_CALLCONV PDTTextCommandIsFontSubstituted(PDTTextCommand cmd,
bool* pSubstituted);
int32_t PDErrCode
Definition errors.h:44
PDFontStyle
Specifies the styling to apply to a font.
Definition fonts.h:24
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