PDF SDK Documentation

Comprehensive Guide for Developers: Features, Integration, and API Reference

Loading...
Searching...
No Matches
acroform.h
Go to the documentation of this file.
1// Copyright (c) 2009-2025 Avanquest Software. All rights reserved.
2
3#ifndef PDFSDK_CORE_ACROFORM_H_INCLUDED_
4#define PDFSDK_CORE_ACROFORM_H_INCLUDED_
5
10
11#include <pdfsdk/core/actions.h>
12#include <pdfsdk/core/annots.h>
13#include <pdfsdk/core/api_macro.h>
15#include <pdfsdk/core/streams.h>
16#include <pdfsdk/errors.h>
17#include <pdfsdk/math_types.h>
18
19#ifdef __cplusplus
20extern "C" {
21#endif
22
23// FormField opaque type
24typedef struct PDFieldRec_* PDField;
25
26typedef void(PDFSDK_CALLCONV* PDFieldChangedProc)(PDField field, void* clientData);
27
28// Field Flags
29typedef uint32_t PDFieldFlags;
30
37enum {
38 // Common - See 12.7.4 Field dictionaries, Table 227 — Field flags common to all field types.
39 kPDFieldFlagReadOnly = 0x00000001,
40 kPDFieldFlagRequired = 0x00000002,
42 kPDFieldFlagNoExport = 0x00000004,
44
45 // Text - See 12.7.5.3 Text fields, Table 231 — Field flags specific to text fields.
54 kPDTextFieldFlagComb = 0x01000000,
58
59 // Button - See 12.7.5.2 Button fields, Table 229 — Field flags specific to button fields.
68
69 // Choice - See 12.7.5.4 Choice fields, Table 233 — Field flags specific to choice fields.
78};
79
80#define kPDChoiceNoSelection ((size_t)(-1))
81
94
107
108typedef struct
109{
110 PDIconScaleWhen scaleWhen;
111 PDIconScaleHow scaleHow;
112 float allocLeft;
113 float allocBottom;
114 bool fitBounds;
115} PDIconFit;
116
132
133#define kPDAutoFontSize 0.f
134
141enum {
188};
189typedef uint32_t PDSubmitFormFlags;
190
198enum {
199 kPDResetFormFlagExclude = 1 << 0
200};
201typedef uint32_t PDResetFormFlags;
202
203typedef PDErrCode(PDFSDK_CALLCONV* PDSignGetNameProc)(void* signData, PDAtom* pName);
204typedef PDErrCode(PDFSDK_CALLCONV* PDSignCustomizeSigDict)(void* signData, PDDoc doc, PDObject dict);
205typedef PDErrCode(PDFSDK_CALLCONV* PDSignGetNumCertsProc)(void* signData, size_t* pNumCerts);
206typedef PDErrCode(PDFSDK_CALLCONV* PDSignGetCertDataProc)(void* signData, size_t index, void* buffer, size_t bufLen, size_t* pSize);
207typedef PDErrCode(PDFSDK_CALLCONV* PDSignEstimateMaxSizeProc)(void* signData, size_t* pMaxSize);
208typedef PDErrCode(PDFSDK_CALLCONV* PDSignSignProc)(void* signData, const void* data, size_t dataLen, void* buffer, size_t bufLen, size_t* pSize);
209typedef PDErrCode(PDFSDK_CALLCONV* PDSignDestroyProc)(void* signData);
210
211typedef struct
212{
213 PDSignGetNameProc getFilter;
214 PDSignGetNameProc getSubFilter;
215 PDSignCustomizeSigDict customizeSigDict;
216 PDSignGetNumCertsProc getNumCerts;
217 PDSignGetCertDataProc getCertData;
218 PDSignEstimateMaxSizeProc estimateMaxSize;
219 PDSignSignProc sign;
220 PDSignDestroyProc destroy;
222
223typedef PDErrCode(PDFSDK_CALLCONV* PDTimestampEstimateMaxSizeProc)(void* data, size_t* pSize);
224typedef PDErrCode(PDFSDK_CALLCONV* PDTimestampGetTokenProc)(void* data, const void* bytes, size_t byteLen, void* buffer, size_t bufLen, size_t* pSize);
225typedef PDErrCode(PDFSDK_CALLCONV* PDTimestampDestroyProc)(void* data);
226
227typedef struct
228{
229 PDTimestampEstimateMaxSizeProc estimateMaxSize;
230 PDTimestampGetTokenProc getToken;
231 PDTimestampDestroyProc destroy;
233
247typedef PDErrCode(PDFSDK_CALLCONV* PDLTVGetRevocationProc)(void* data,
248 const void* cert, size_t certLen,
249 const void* issuer, size_t issuerLen,
250 void* buffer, size_t bufLen, size_t* pSize);
251
252typedef PDErrCode(PDFSDK_CALLCONV* PDLTVDestroyProc)(void* data);
253
260typedef struct
261{
264 PDLTVDestroyProc destroy;
266
277
286
287PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDDocGetNumFields(PDDoc doc, size_t* pNumFields);
288PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDDocGetField(PDDoc doc, size_t index, PDField* pField);
289PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDDocAppendField(PDDoc doc, PDField field);
290PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDDocRemoveField(PDDoc doc, PDField field);
291
292PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDDocCreateField(PDDoc doc, const wchar_t* fullnameBuf, size_t fullnameSize, PDAtom type, PDFieldFlags flags, PDField* pField);
293PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDDocFindField(PDDoc doc, const wchar_t* fullname, PDField* pField);
294PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDDocRenameField(PDDoc doc, PDField field, const wchar_t* fullnameBuf, size_t fullnameSize);
295
296PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDDocAttachFieldChangedCallback(PDDoc doc, PDFieldChangedProc proc, void* clientData);
297PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDDocDetachFieldChangedCallback(PDDoc doc, PDFieldChangedProc proc, void* clientData);
298PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDDocNotifyFieldChanged(PDDoc doc, PDField field);
299
300PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDCreateActionFieldsData(PDDoc doc, const PDField* fields, size_t numFields, PDObject* pData);
301PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDActionFieldsDataGetNumFields(PDObject data, size_t* pNumFields);
302PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDActionFieldsDataGetField(PDObject data, size_t index, PDDoc doc, PDField* pField);
303PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDActionFieldsDataAddField(PDObject data, PDField field);
304
305PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDActionSubmitFormGetServerURL(PDAction action, PDFileSpec* pFileSpec);
306PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDActionSubmitFormSetServerURL(PDAction action, PDFileSpec fileSpec);
307PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDActionSubmitFormGetFieldsData(PDAction action, PDObject* pFields);
308PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDActionSubmitFormSetFieldsData(PDAction action, PDObject fields);
309PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDActionSubmitFormGetFlags(PDAction action, PDSubmitFormFlags* pFlags);
310PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDActionSubmitFormSetFlags(PDAction action, PDSubmitFormFlags flags);
311PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDActionResetFormGetFieldsData(PDAction action, PDObject* pFields);
312PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDActionResetFormSetFieldsData(PDAction action, PDObject fields);
313PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDActionResetFormGetFlags(PDAction action, PDResetFormFlags* pFlags);
314PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDActionResetFormSetFlags(PDAction action, PDResetFormFlags flags);
315PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDActionImportDataGetFileSpec(PDAction action, PDFileSpec* pFileSpec);
316PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDActionImportDataSetFileSpec(PDAction action, PDFileSpec fileSpec);
317
318PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDCalculationOrderGetNumFields(PDDoc doc, size_t* pNumFields);
319PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDCalculationOrderGetField(PDDoc doc, size_t index, PDField* pField);
320PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDCalculationOrderInsertField(PDDoc doc, PDField field);
321PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDCalculationOrderRemoveField(PDDoc doc, PDField field);
322
323PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDDocExportFormFDF(PDDoc doc, PDObject fields, bool exclude, const wchar_t* path);
324PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDDocExportFormFDFToStream(PDDoc doc, PDObject fields, bool exclude, PDWriteStream stream);
325PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDDocImportFormFDF(PDDoc doc, const wchar_t* path);
326PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDDocImportFormFDFFromBuffer(PDDoc doc, const void* data, size_t size);
327PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDDocExportFormXFDF(PDDoc doc, PDObject fields, bool exclude, const wchar_t* path);
328PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDDocExportFormXFDFToStream(PDDoc doc, PDObject fields, bool exclude, PDWriteStream stream);
329PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDDocImportFormXFDF(PDDoc doc, const wchar_t* path);
330PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDDocImportFormXFDFFromBuffer(PDDoc doc, const void* data, size_t size);
331PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDDocResetForm(PDDoc doc, PDObject fields, PDResetFormFlags flags);
332
333PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDDocOpenXFAStream(PDDoc doc, PDReadStream* pStm);
334
335/*
336 An indirect reference to the widget annotation’s parent field.
337 A widget annotation may have at most one parent; that is,
338 it can be included in the Kids array of at most one field
339*/
340PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDWidgetAnnotGetParent(PDAnnot widget, PDField* pParent);
341PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDWidgetAnnotSetHighlight(PDAnnot widget, PDAnnotHighlightMode highlight);
342PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDWidgetAnnotGetHighlight(PDAnnot widget, PDAnnotHighlightMode* pHighlight);
343PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDWidgetAnnotSetBorderStyle(PDAnnot annot, const PDAnnotBorderStyle* borderStyle);
344PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDWidgetAnnotGetBorderStyle(PDAnnot annot, PDAnnotBorderStyle* pBorderStyle);
345PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDWidgetAnnotSetRotate(PDAnnot annot, PDRotate rotate);
346PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDWidgetAnnotGetRotate(PDAnnot annot, PDRotate* pRotate);
347PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDWidgetAnnotSetBorderColor(PDAnnot annot, PDColorValue borderColor);
348PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDWidgetAnnotGetBorderColor(PDAnnot annot, PDColorValue* pBorderColor);
349PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDWidgetAnnotSetBgColor(PDAnnot annot, PDColorValue bgColor);
350PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDWidgetAnnotGetBgColor(PDAnnot annot, PDColorValue* pBgColor);
351PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDWidgetAnnotSetFont(PDAnnot widget, PDEFont font);
352PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDWidgetAnnotGetFont(PDAnnot widget, PDEFont* pFont);
353PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDWidgetAnnotSetFontColor(PDAnnot widget, PDColorValue fontColor);
354PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDWidgetAnnotGetFontColor(PDAnnot widget, PDColorValue* pFontColor);
355PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDWidgetAnnotSetFontSize(PDAnnot widget, float fontSize);
356PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDWidgetAnnotGetFontSize(PDAnnot widget, float* pFontSize);
357
358PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDWidgetAnnotSetMouseEnterAction(PDAnnot widget, PDAction action);
359PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDWidgetAnnotGetMouseEnterAction(PDAnnot widget, PDAction* pAction);
360PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDWidgetAnnotSetMouseExitAction(PDAnnot widget, PDAction action);
361PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDWidgetAnnotGetMouseExitAction(PDAnnot widget, PDAction* pAction);
362PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDWidgetAnnotSetMouseDownAction(PDAnnot widget, PDAction action);
363PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDWidgetAnnotGetMouseDownAction(PDAnnot widget, PDAction* pAction);
364PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDWidgetAnnotSetMouseUpAction(PDAnnot widget, PDAction action);
365PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDWidgetAnnotGetMouseUpAction(PDAnnot widget, PDAction* pAction);
366PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDWidgetAnnotSetFocusAction(PDAnnot widget, PDAction action);
367PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDWidgetAnnotGetFocusAction(PDAnnot widget, PDAction* pAction);
368PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDWidgetAnnotSetBlurAction(PDAnnot widget, PDAction action);
369PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDWidgetAnnotGetBlurAction(PDAnnot widget, PDAction* pAction);
370
371PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDCreateButtonWidgetAnnot(PDDoc doc, PDField parent, const PDRectF* rect, PDAnnot* pOut);
372PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDButtonWidgetAnnotSetCaption(PDAnnot widget, const wchar_t* captionBuf, size_t captionSize);
373PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDButtonWidgetAnnotGetCaption(PDAnnot widget, wchar_t* buffer, size_t bufSize, size_t* pSize);
374PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDButtonWidgetAnnotSetRolloverCaption(PDAnnot widget, const wchar_t* captionBuf, size_t captionSize);
375PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDButtonWidgetAnnotGetRolloverCaption(PDAnnot widget, wchar_t* buffer, size_t bufSize, size_t* pSize);
376PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDButtonWidgetAnnotSetDownCaption(PDAnnot widget, const wchar_t* captionBuf, size_t captionSize);
377PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDButtonWidgetAnnotGetDownCaption(PDAnnot widget, wchar_t* buffer, size_t bufSize, size_t* pSize);
378PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDButtonWidgetAnnotSetIcon(PDAnnot widget, PDEXObject icon);
379PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDButtonWidgetAnnotGetIcon(PDAnnot widget, PDEXObject* pIcon);
380PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDButtonWidgetAnnotSetRolloverIcon(PDAnnot widget, PDEXObject icon);
381PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDButtonWidgetAnnotGetRolloverIcon(PDAnnot widget, PDEXObject* pIcon);
382PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDButtonWidgetAnnotSetDownIcon(PDAnnot widget, PDEXObject icon);
383PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDButtonWidgetAnnotGetDownIcon(PDAnnot widget, PDEXObject* pIcon);
384PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDButtonWidgetAnnotSetIconFit(PDAnnot widget, const PDIconFit* iconFit);
385PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDButtonWidgetAnnotGetIconFit(PDAnnot widget, PDIconFit* pIconFit);
386PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDButtonWidgetAnnotSetTextPosition(PDAnnot widget, PDTextPosition textPosition);
387PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDButtonWidgetAnnotGetTextPosition(PDAnnot widget, PDTextPosition* pTextPosition);
388PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDButtonWidgetAnnotToggle(PDAnnot widget);
389PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDButtonWidgetAnnotSetChoice(PDAnnot widget, const wchar_t* choiceBuf, size_t choiceSize);
390PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDButtonWidgetAnnotGetChoice(PDAnnot widget, wchar_t* buffer, size_t bufSize, size_t* pSize);
391PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDButtonWidgetAnnotGetOnStateName(PDAnnot widget, PDAtom* pName);
392PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDButtonWidgetAnnotSetAction(PDAnnot widget, PDAction action);
393PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDButtonWidgetAnnotGetAction(PDAnnot widget, PDAction* pAction);
394
395PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDCreateTextWidgetAnnot(PDDoc doc, PDField parent, const PDRectF* rect, PDAnnot* pOut);
396PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDTextWidgetAnnotSetTopLine(PDAnnot widget, size_t topLine);
397PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDTextWidgetAnnotGetTopLine(PDAnnot widget, size_t* pTopLine);
398PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDTextWidgetAnnotKeystroke(PDAnnot widget, size_t selStart, size_t selEnd, const wchar_t* change, size_t changeSize, bool allowOverflow);
399PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDTextWidgetAnnotHitTestChar(PDAnnot widget, const PDPointF* pagePt, size_t* pCharIndex);
400PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDTextWidgetAnnotSetText(PDAnnot widget, const wchar_t* text, size_t textSize);
401PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDTextWidgetAnnotGetText(PDAnnot widget, wchar_t* buffer, size_t bufSize, size_t* pSize);
402PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDTextWidgetAnnotGetCharQuad(PDAnnot widget, size_t index, PDQuad* pQuad);
403PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDTextWidgetAnnotGetNumVisibleLines(PDAnnot widget, size_t* pMaxLines);
404PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDTextWidgetAnnotGetNumLines(PDAnnot widget, size_t* pNumLines);
405PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDTextWidgetAnnotGetFirstCharOnLine(PDAnnot widget, size_t lineIndex, size_t* pCharIndex);
406PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDTextWidgetAnnotGetLineWithChar(PDAnnot widget, size_t charIndex, size_t* pLineIndex);
407PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDTextWidgetAnnotDoesNeedScroll(PDAnnot widget, PDTextWidgetScrollType* pScrollType);
408PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDTextWidgetAnnotSetFirstVisibleChar(PDAnnot widget, size_t charIndex);
409PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDTextWidgetAnnotGetFirstVisibleChar(PDAnnot widget, size_t* pcharIndex);
410PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDTextWidgetAnnotGetNumberOfVisibleChars(PDAnnot widget, size_t* pnumOfVisibleChars);
411PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDTextWidgetAnnotSetQuadding(PDAnnot widget, PDQuadding quadding);
412PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDTextWidgetAnnotGetQuadding(PDAnnot widget, PDQuadding* pQuadding);
413PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDTextWidgetAnnotHasOverflow(PDAnnot widget, bool* hasOverflow);
414
415PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDCreateChoiceWidgetAnnot(PDDoc doc, PDField parent, const PDRectF* rect, PDAnnot* pOut);
416PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDChoiceWidgetAnnotSetTopLine(PDAnnot widget, size_t topLine);
417PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDChoiceWidgetAnnotGetTopLine(PDAnnot widget, size_t* pTopLine);
418PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDChoiceWidgetAnnotKeystroke(PDAnnot widget, size_t selStart, size_t selEnd, const wchar_t* change, size_t changeSize);
419PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDChoiceWidgetAnnotHitTestChar(PDAnnot widget, const PDPointF* pagePt, size_t* pCharIndex);
420PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDChoiceWidgetAnnotSetText(PDAnnot widget, const wchar_t* text, size_t textSize);
421PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDChoiceWidgetAnnotGetText(PDAnnot widget, wchar_t* buffer, size_t bufSize, size_t* pSize);
422PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDChoiceWidgetAnnotGetCharQuad(PDAnnot widget, size_t index, PDQuad* pQuad);
423PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDChoiceWidgetAnnotGetNumVisibleLines(PDAnnot widget, size_t* pMaxLines);
424PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDChoiceWidgetAnnotGetNumLines(PDAnnot widget, size_t* pNumLines);
425PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDChoiceWidgetAnnotGetNumOptions(PDAnnot widget, size_t* pNumOptions);
426PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDChoiceWidgetAnnotHitTestOption(PDAnnot widget, const PDPointF* pagePt, size_t* pOption);
427PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDChoiceWidgetAnnotSetSelection(PDAnnot widget, size_t option);
428PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDChoiceWidgetAnnotGetSelection(PDAnnot widget, size_t* pOption);
429PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDChoiceWidgetAnnotSetQuadding(PDAnnot widget, PDQuadding quadding);
430PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDChoiceWidgetAnnotGetQuadding(PDAnnot widget, PDQuadding* pQuadding);
431PDF_CORE_API void PDFSDK_CALLCONV PDChoiceWidgetAnnotSetGlobalSelectionColor(PDColorValue color);
432
433PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDCreateSignWidgetAnnot(PDDoc doc, PDField parent, const PDRectF* rect, PDAnnot* pOut);
434PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDSignWidgetAnnotSetAppearanceParams(PDAnnot widget, PDEXObject icon, bool addCaption);
435
436PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDFieldCreateFromPDObject(PDObject obj, PDField* pField);
437PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDFieldGetPDObject(PDField field, PDObject* pObj);
438PDF_CORE_API bool PDFSDK_CALLCONV PDFieldEqual(PDField fieldA, PDField fieldB);
439PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDFieldGetType(PDField field, PDAtom* pType);
440PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDFieldGetParent(PDField field, PDField* pParent);
441PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDFieldIsTerminal(PDField field, bool* pTerminal);
442PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDFieldGetNumChildren(PDField field, size_t* pNumChildren);
443PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDFieldGetChildByIndex(PDField field, size_t index, PDField* pChild);
444PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDFieldAppendChild(PDField field, PDField child);
445PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDFieldRemoveChild(PDField field, PDField child);
446PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDFieldGetNumWidgets(PDField field, size_t* pNumWidgets);
447PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDFieldGetWidget(PDField field, size_t index, PDAnnot* pWidget);
448PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDFieldAppendWidget(PDField field, PDAnnot widget);
449PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDFieldRemoveWidget(PDField field, PDAnnot widget);
450PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDFieldSetName(PDField field, const wchar_t* nameBuf, size_t nameSize);
451PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDFieldGetName(PDField field, wchar_t* buffer, size_t bufSize, size_t* pSize);
452PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDFieldSetUIName(PDField field, const wchar_t* nameBuf, size_t nameSize);
453PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDFieldGetUIName(PDField field, wchar_t* buffer, size_t bufSize, size_t* pSize);
454PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDFieldSetMappingName(PDField field, const wchar_t* nameBuf, size_t nameSize);
455PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDFieldGetMappingName(PDField field, wchar_t* buffer, size_t bufSize, size_t* pSize);
456PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDFieldGetFlags(PDField field, PDFieldFlags* pFlags);
457PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDFieldSetFlags(PDField field, PDFieldFlags flags);
458PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDFieldUpdateWidgets(PDField field);
459PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDFieldGetFullName(PDField field, wchar_t* buffer, size_t bufSize, size_t* pSize);
460
461PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDFieldSetModifyAction(PDField field, PDAction action);
462PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDFieldGetModifyAction(PDField field, PDAction* pAction);
463PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDFieldSetValidateAction(PDField field, PDAction action);
464PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDFieldGetValidateAction(PDField field, PDAction* pAction);
465PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDFieldSetFormatAction(PDField field, PDAction action);
466PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDFieldGetFormatAction(PDField field, PDAction* pAction);
467PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDFieldSetCalculateAction(PDField field, PDAction action);
468PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDFieldGetCalculateAction(PDField field, PDAction* pAction);
469
470PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDFieldGetValue(PDField field, wchar_t* buffer, size_t bufSize, size_t* pSize);
471PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDFieldSetValue(PDField field, const wchar_t* value, size_t valueSize, PDAnnot source);
472PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDFieldGetEValue(PDField field, wchar_t* buffer, size_t bufSize, size_t* pSize);
473PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDFieldSetEValue(PDField field, const wchar_t* value, size_t valueSize);
474PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDFieldGetDefaultValue(PDField field, wchar_t* buffer, size_t bufSize, size_t* pSize);
475PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDFieldSetDefaultValue(PDField field, const wchar_t* value, size_t valueSize);
476
477PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDCreateButtonField(PDDoc doc, PDField parent, PDFieldFlags flags, PDField* pOut);
478
479PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDCreateTextField(PDDoc doc, PDField parent, PDFieldFlags flags, PDField* pOut);
480PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDTextFieldSetMaxLen(PDField field, size_t maxlen);
481PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDTextFieldGetMaxLen(PDField field, size_t* pMaxLen);
482
483PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDCreateChoiceField(PDDoc doc, PDField parent, PDFieldFlags flags, PDField* pOut);
484PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDChoiceFieldGetNumOptions(PDField field, size_t* pNumOptions);
485PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDChoiceFieldFindOptionByValue(PDField field, const wchar_t* value, size_t valueSize, size_t* pOption);
486PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDChoiceFieldFindOptionByExportValue(PDField field, const wchar_t* exportValue, size_t exportValueSize, size_t* pOption);
487PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDChoiceFieldGetOptionValue(PDField field, size_t option, wchar_t* buffer, size_t bufSize, size_t* pSize);
488PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDChoiceFieldGetOptionExportValue(PDField field, size_t option, wchar_t* buffer, size_t bufSize, size_t* pSize);
489PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDChoiceFieldInsertOption(PDField field, size_t index, const wchar_t* value, size_t valueSize, const wchar_t* exportValue, size_t exportValueSize);
490PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDChoiceFieldRemoveOption(PDField field, size_t index);
491PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDChoiceFieldRemoveAllOptions(PDField field);
492
493PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDCreateSignField(PDDoc doc, PDField parent, PDFieldFlags flags, PDField* pOut);
494PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDDocIsSigned(PDDoc doc, bool* pSigned);
495PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDDocHasURPerms(PDDoc doc, bool* pHasURPerms);
496PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDSignFieldIsBlank(PDField field, bool* pBlank);
497PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDSignFieldSetLock(PDField field, PDAtom action, PDObject fields, PDSignLockPerms perms);
498PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDSignFieldGetLock(PDField field, PDAtom* action, PDObject* fields, PDSignLockPerms* perms);
499PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDSignFieldSignApprove(PDField field, const PDSignHandler* signHandler, void* signData, const wchar_t* reason);
500PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDSignFieldSignCertify(PDField field, PDSignLockPerms perms, const PDSignHandler* signHandler, void* signData, const wchar_t* reason);
501PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDSignFieldClear(PDField field);
502PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDSignFieldVerify(PDField field, bool* pValid);
503PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDSignFieldDocModifiedAfterSign(PDField field, bool* pModified);
504PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDSignFieldGetReason(PDField field, wchar_t* buffer, size_t bufSize, size_t* pSize);
505PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDSignFieldGetSigningDate(PDField field, PDDateTime* pDate);
506PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDSignFieldGetNumCertificates(PDField field, size_t* pNumCerts);
507PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDSignFieldGetCertificate(PDField field, size_t index, void* buffer, size_t bufSize, size_t* pSize);
508PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDSignFieldGetRevision(PDField field, int* pRevision);
509PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDSignFieldSaveSignedVersion(PDField field, const wchar_t* filename);
510PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDSignFieldIsApproval(PDField field, bool* pIsApproval);
511PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDSignFieldIsCertification(PDField field, bool* pIsCertification);
512PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDSignFieldIsDocumentTimestamp(PDField field, bool* pIsDocumentTimestamp);
513PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDSignFieldAddDocumentTimestamp(PDField field, const PDTimestampHandler* handler, void* handlerData);
514PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDSignFieldAddLTVData(PDField field, const PDLTVHandler* handler, void* handlerData);
515
524
532
534typedef enum {
537 kPDSigTimeNone
539
542typedef struct {
543 const void* const* trustAnchors;
544 const size_t* trustAnchorSizes;
545 size_t numTrustAnchors;
548
550typedef struct {
553 PDSigChainStatus chain;
554 PDSigRevocationStatus revocation;
555 PDSigTimeSource timeSource;
556 PDDateTime referenceTime;
559
560PDF_CORE_API PDErrCode PDFSDK_CALLCONV PDSignFieldValidateLTV(PDField field, const PDSignValidationOptions* options, PDSignValidationResult* pResult);
561
562#ifdef __cplusplus
563}
564#endif
565
566#endif // PDFSDK_CORE_ACROFORM_H_INCLUDED_
PDSignLockPerms
Controls the permissions and security settings of a signed PDF document.
Definition acroform.h:271
@ kPDSignLockPermsAllowNoChanges
Definition acroform.h:273
@ kPDSignLockPermsNotSet
Definition acroform.h:272
@ kPDSignLockPermsAllowFormFillAnnotate
Definition acroform.h:275
@ kPDSignLockPermsAllowFormFill
Definition acroform.h:274
@ kPDChoiceFieldFlagDoNotSpellCheck
Definition acroform.h:76
@ kPDChoiceFieldFlagCombo
Definition acroform.h:70
@ kPDChoiceFieldFlagMultiSelect
Definition acroform.h:75
@ kPDChoiceFieldFlagSort
Definition acroform.h:74
@ kPDButtonFieldFlagRadio
Definition acroform.h:62
@ kPDFieldFlagNoExport
Definition acroform.h:42
@ kPDTextFieldFlagMultiline
Definition acroform.h:46
@ kPDTextFieldFlagFileSelect
Definition acroform.h:49
@ kPDTextFieldFlagPassword
Definition acroform.h:47
@ kPDFieldFlagRequired
Definition acroform.h:40
@ kPDButtonFieldFlagRadiosInUnison
Definition acroform.h:66
@ kPDTextFieldFlagDoNotScroll
Definition acroform.h:52
@ kPDButtonFieldFlagNoToggleToOff
Definition acroform.h:60
@ kPDFieldFlagReadOnly
Definition acroform.h:39
@ kPDTextFieldFlagRichText
Definition acroform.h:56
@ kPDChoiceFieldFlagEdit
Definition acroform.h:72
@ kPDChoiceFieldFlagCommitOnSelChange
Definition acroform.h:77
@ kPDButtonFieldFlagPushbutton
Definition acroform.h:64
@ kPDTextFieldFlagComb
Definition acroform.h:54
@ kPDTextFieldFlagDoNotSpellCheck
Definition acroform.h:51
PDIconScaleWhen
Defines the circumstances under which an icon shall be scaled inside an annotation rectangle.
Definition acroform.h:88
@ kPDIconScaleBigger
Definition acroform.h:90
@ kPDIconScaleNever
Definition acroform.h:92
@ kPDIconScaleSmaller
Definition acroform.h:91
@ kPDIconScaleAlways
Definition acroform.h:89
@ kPDSubmitFormFlagExportFormat
Definition acroform.h:148
@ kPDSubmitFormFlagIncludeAnnotations
Definition acroform.h:169
@ kPDSubmitFormFlagIncludeNoValueFields
Definition acroform.h:145
@ kPDSubmitFormFlagExclFKey
Definition acroform.h:181
@ kPDSubmitFormFlagGetMethod
Definition acroform.h:152
@ kPDSubmitFormFlagXFDF
Definition acroform.h:161
@ kPDSubmitFormFlagSubmitCoordinates
Definition acroform.h:157
@ kPDSubmitFormFlagCanonicalFormat
Definition acroform.h:176
@ kPDSubmitFormFlagExclude
Definition acroform.h:142
@ kPDSubmitFormFlagEmbedForm
Definition acroform.h:184
@ kPDSubmitFormFlagIncludeAppendSaves
Definition acroform.h:163
@ kPDSubmitFormFlagSubmitPDF
Definition acroform.h:174
@ kPDSubmitFormFlagExclNonUserAnnots
Definition acroform.h:179
PDTextPosition
Defines where to position the text of a widget annotation’s caption relative to its icon.
Definition acroform.h:123
@ kPDTextPositionCaptionLeft
Definition acroform.h:129
@ kPDTextPositionCaptionOnIcon
Definition acroform.h:130
@ kPDTextPositionIconOnly
Definition acroform.h:125
@ kPDTextPositionCaptionRight
Definition acroform.h:128
@ kPDTextPositionCaptionBelowIcon
Definition acroform.h:126
@ kPDTextPositionCaptionOnly
Definition acroform.h:124
@ kPDTextPositionCaptionAboveIcon
Definition acroform.h:127
PDSigTimeSource
Definition acroform.h:534
@ kPDSigTimeClaimedM
Definition acroform.h:536
@ kPDSigTimeDocTimestamp
Definition acroform.h:535
PDSigRevocationStatus
Definition acroform.h:526
@ kPDSigRevocationGood
Definition acroform.h:527
@ kPDSigRevocationRevoked
Definition acroform.h:528
@ kPDSigRevocationUnknown
Definition acroform.h:529
PDIconScaleHow
Defines the type of scaling that shall be used.
Definition acroform.h:101
@ kPDIconScaleAnamorphic
Definition acroform.h:102
@ kPDIconScaleProportional
Definition acroform.h:104
PDSigChainStatus
Definition acroform.h:517
@ kPDSigChainIncomplete
Definition acroform.h:520
@ kPDSigChainExpired
Definition acroform.h:521
@ kPDSigChainOk
Definition acroform.h:518
@ kPDSigChainUntrusted
Definition acroform.h:519
PDErrCode(PDFSDK_CALLCONV * PDLTVGetRevocationProc)(void *data, const void *cert, size_t certLen, const void *issuer, size_t issuerLen, void *buffer, size_t bufLen, size_t *pSize)
Callback that returns a DER-encoded OCSP response or CRL for one certificate.
Definition acroform.h:247
PDTextWidgetScrollType
Defines how scroll bars are displayed and interacted with within the PDF document.
Definition acroform.h:281
@ kPDTextWidgetScrollNone
Definition acroform.h:282
@ kPDTextWidgetScrollVertical
Definition acroform.h:283
@ kPDTextWidgetScrollHorizontal
Definition acroform.h:284
Action API.
Annotations API.
PDAnnotHighlightMode
Defines the visual representation of annotations, making it easier for users to interact with and und...
Definition annots.h:173
PDQuadding
Defines the alignment of text for a free text annotation.
Definition annots.h:138
Document API.
Error codes.
int32_t PDErrCode
Definition errors.h:44
Math types.
Streams API.
Definition annots.h:104
Definition types.h:23
Definition acroform.h:109
Vtable for the LTV (Long-Term Validation) revocation data provider.
Definition acroform.h:261
PDLTVGetRevocationProc getOCSP
Definition acroform.h:262
PDLTVGetRevocationProc getCRL
Definition acroform.h:263
Definition objects.h:83
Definition math_types.h:12
Definition math_types.h:52
Definition math_types.h:30
Definition acroform.h:212
Definition acroform.h:542
const size_t * trustAnchorSizes
Definition acroform.h:544
bool requireRevocation
Definition acroform.h:546
const void *const * trustAnchors
Definition acroform.h:543
Definition acroform.h:550
bool ltvEnabled
Definition acroform.h:557
bool integrityValid
Definition acroform.h:551
bool documentCovered
Definition acroform.h:552
Definition acroform.h:228
PDRotate
Specifies degrees of rotation.
Definition types.h:38