diff options
author | Jay Berkenbilt <ejb@ql.org> | 2019-01-02 03:27:18 +0100 |
---|---|---|
committer | Jay Berkenbilt <ejb@ql.org> | 2019-01-04 05:18:13 +0100 |
commit | e3144ac4177b7c38567f41a8e31a6c162d3b76f4 (patch) | |
tree | 94d2e557359b040cae83224a9c5e33f7cb46d7db /include | |
parent | 26393f51373d95bb2fe5a99d1de9d04d8d7eb920 (diff) | |
download | qpdf-e3144ac4177b7c38567f41a8e31a6c162d3b76f4.tar.zst |
Add form fields to json output
Also add some additional methods for detecting form field types to
assist in the json creation and for later use.
Diffstat (limited to 'include')
-rw-r--r-- | include/qpdf/QPDFAnnotationObjectHelper.hh | 5 | ||||
-rw-r--r-- | include/qpdf/QPDFFormFieldObjectHelper.hh | 33 |
2 files changed, 38 insertions, 0 deletions
diff --git a/include/qpdf/QPDFAnnotationObjectHelper.hh b/include/qpdf/QPDFAnnotationObjectHelper.hh index c5d24334..5e8af0c6 100644 --- a/include/qpdf/QPDFAnnotationObjectHelper.hh +++ b/include/qpdf/QPDFAnnotationObjectHelper.hh @@ -61,6 +61,11 @@ class QPDFAnnotationObjectHelper: public QPDFObjectHelper QPDF_DLL std::string getAppearanceState(); + // Return flags from "/F". The value is a logical or of + // pdf_annotation_flag_e as defined in qpdf/Constants.h. + QPDF_DLL + int getFlags(); + // Return a specific stream. "which" may be one of "/N", "/R", or // "/D" to indicate the normal, rollover, or down appearance // stream. (Any value may be passed to "which"; if an appearance diff --git a/include/qpdf/QPDFFormFieldObjectHelper.hh b/include/qpdf/QPDFFormFieldObjectHelper.hh index ec2c1f55..5b8a2d0e 100644 --- a/include/qpdf/QPDFFormFieldObjectHelper.hh +++ b/include/qpdf/QPDFFormFieldObjectHelper.hh @@ -29,6 +29,7 @@ #include <qpdf/QPDFObjectHelper.hh> #include <qpdf/DLL.h> +#include <vector> class QPDFFormFieldObjectHelper: public QPDFObjectHelper { @@ -120,6 +121,38 @@ class QPDFFormFieldObjectHelper: public QPDFObjectHelper QPDF_DLL int getQuadding(); + // Return field flags from /Ff. The value is a logical or of + // pdf_form_field_flag_e as defined in qpdf/Constants.h + QPDF_DLL + int getFlags(); + + // Methods for testing for particular types of form fields + + // Returns true if field is of type /Tx + QPDF_DLL + bool isText(); + // Returns true if field is of type /Btn and flags do not indicate + // some other type of button. + QPDF_DLL + bool isCheckbox(); + // Returns true if field is a checkbox and is checked. + QPDF_DLL + bool isChecked(); + // Returns true if field is of type /Btn and flags indicate that + // it is a radio button + QPDF_DLL + bool isRadioButton(); + // Returns true if field is of type /Btn and flags indicate that + // it is a pushbutton + QPDF_DLL + bool isPushbutton(); + // Returns true if fields if of type /Ch + QPDF_DLL + bool isChoice(); + // Returns choices as UTF-8 strings + QPDF_DLL + std::vector<std::string> getChoices(); + // Set an attribute to the given value QPDF_DLL void setFieldAttribute(std::string const& key, QPDFObjectHandle value); |