Deal with ca and CA transparency operators in pdf. add comments to generated classes.

Review URL: https://codereview.chromium.org/16975013

git-svn-id: http://skia.googlecode.com/svn/trunk@9685 2bbb7eff-a529-9590-31e7-b0007b416f81
This commit is contained in:
edisonn@google.com 2013-06-19 17:42:17 +00:00
parent 628de5f1f4
commit afe5e9e417
166 changed files with 7602 additions and 33 deletions

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Additional entries specific to a link annotation
class SkPdfALinkAnnotationDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kALinkAnnotationDictionary_SkPdfObjectType;}
@ -521,6 +522,13 @@ public:
SkPdfALinkAnnotationDictionary& operator=(const SkPdfALinkAnnotationDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Required) The type of annotation that this dictionary describes; must be Link
* for a link annotation.
**/
bool has_Subtype() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", NULL));
}
std::string Subtype() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", &ret)) return ret;
@ -528,6 +536,15 @@ public:
return "";
}
/** (Optional; PDF 1.4) An alternate representation of the annotation's contents in
* human-readable form, useful when extracting the document's contents in sup-
* port of accessibility to disabled users or for other purposes (see Section 9.8.2,
* "Alternate Descriptions").
**/
bool has_Contents() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Contents", "", NULL));
}
std::string Contents() const {
std::string ret;
if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Contents", "", &ret)) return ret;
@ -535,6 +552,14 @@ public:
return "";
}
/** (Optional; not permitted if an A entry is present) A destination to be displayed
* when the annotation is activated (see Section 8.2.1, "Destinations"; see also
* implementation note 66 in Appendix H).
**/
bool has_Dest() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Dest", "", NULL));
}
bool isDestAArray() const {
SkPdfObject* ret = NULL;
if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Dest", "", &ret)) return false;
@ -574,6 +599,24 @@ public:
return "";
}
/** (Optional; PDF 1.2) The annotation's highlighting mode, the visual effect to be
* used when the mouse button is pressed or held down inside its active area:
* N (None) No highlighting.
* I (Invert) Invert the contents of the annotation rectangle.
* O (Outline) Invert the annotation's border.
* P (Push) Display the annotation's down appearance, if any (see Section
* 8.4.4, "Appearance Streams"). If no down appearance is defined, offset
* the contents of the annotation rectangle to appear as if it were being
* "pushed" below the surface of the page.
* A highlighting mode other than P overrides any down appearance defined for
* the annotation. Default value: I.
* Note: In PDF 1.1, highlighting is always done by inverting colors inside the anno-
* tation rectangle.
**/
bool has_H() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "H", "", NULL));
}
std::string H() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "H", "", &ret)) return ret;
@ -581,6 +624,17 @@ public:
return "";
}
/** (Optional; PDF 1.3) A URI action (see "URI Actions" on page 523) formerly
* associated with this annotation. When Web Capture (Section 9.9, "Web Cap-
* ture") changes an annotation from a URI to a go-to action ("Go-To Actions"
* on page 519), it uses this entry to save the data from the original URI action so
* that it can be changed back in case the target page for the go-to action is subse-
* quently deleted.
**/
bool has_PA() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "PA", "", NULL));
}
SkPdfDictionary* PA() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "PA", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entries common to all action dictionaries
class SkPdfActionDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kActionDictionary_SkPdfObjectType;}
@ -521,6 +522,13 @@ public:
SkPdfActionDictionary& operator=(const SkPdfActionDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Optional) The type of PDF object that this dictionary describes; if
* present, must be Action for an action dictionary.
**/
bool has_Type() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", NULL));
}
std::string Type() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
@ -528,6 +536,13 @@ public:
return "";
}
/** (Required) The type of action that this dictionary describes; see Table 8.34
* on page 518 for specific values.
**/
bool has_S() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", NULL));
}
std::string S() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", &ret)) return ret;
@ -535,6 +550,15 @@ public:
return "";
}
/** (Optional; PDF 1.2) The next action, or sequence of actions, to be per-
* formed after this one. The value is either a single action dictionary or an
* array of action dictionaries to be performed in order; see below for fur-
* ther discussion.
**/
bool has_Next() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Next", "", NULL));
}
bool isNextADictionary() const {
SkPdfObject* ret = NULL;
if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Next", "", &ret)) return false;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entries in an alternate image dictionary
class SkPdfAlternateImageDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kAlternateImageDictionary_SkPdfObjectType;}
@ -521,6 +522,12 @@ public:
SkPdfAlternateImageDictionary& operator=(const SkPdfAlternateImageDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Required) The image XObject for the alternate image.
**/
bool has_Image() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Image", "", NULL));
}
SkPdfStream Image() const {
SkPdfStream ret;
if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Image", "", &ret)) return ret;
@ -528,6 +535,15 @@ public:
return SkPdfStream();
}
/** (Optional) A flag indicating whether this alternate image is the default ver-
* sion to be used for printing. At most one alternate for a given base image may
* be so designated. If no alternate has this entry set to true, the base image itself
* is used for printing.
**/
bool has_DefaultForPrinting() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DefaultForPrinting", "", NULL));
}
bool DefaultForPrinting() const {
bool ret;
if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DefaultForPrinting", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entries in an annotation's additional-actions dictionary
class SkPdfAnnotationActionsDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kAnnotationActionsDictionary_SkPdfObjectType;}
@ -521,6 +522,13 @@ public:
SkPdfAnnotationActionsDictionary& operator=(const SkPdfAnnotationActionsDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Optional; PDF 1.2) An action to be performed when the cursor enters the annotation's
* active area.
**/
bool has_E() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "E", "", NULL));
}
SkPdfDictionary* E() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "E", "", &ret)) return ret;
@ -528,6 +536,13 @@ public:
return NULL;
}
/** (Optional; PDF 1.2) An action to be performed when the cursor exits the annotation's
* active area.
**/
bool has_X() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "X", "", NULL));
}
SkPdfDictionary* X() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "X", "", &ret)) return ret;
@ -535,6 +550,13 @@ public:
return NULL;
}
/** (Optional; PDF 1.2) An action to be performed when the mouse button is pressed
* inside the annotation's active area. (The name D stands for "down.")
**/
bool has_D() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "D", "", NULL));
}
SkPdfDictionary* D() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "D", "", &ret)) return ret;
@ -542,6 +564,15 @@ public:
return NULL;
}
/** (Optional; PDF 1.2) An action to be performed when the mouse button is released
* inside the annotation's active area. (The name U stands for "up.")
* Note: For backward compatibility, the A entry in an annotation dictionary, if present,
* takes precedence over this entry (see Table 8.10 on page 490).
**/
bool has_U() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "U", "", NULL));
}
SkPdfDictionary* U() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "U", "", &ret)) return ret;
@ -549,6 +580,13 @@ public:
return NULL;
}
/** (Optional; PDF 1.2; widget annotations only) An action to be performed when the
* annotation receives the input focus.
**/
bool has_Fo() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Fo", "", NULL));
}
SkPdfDictionary* Fo() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Fo", "", &ret)) return ret;
@ -556,6 +594,14 @@ public:
return NULL;
}
/** (Optional; PDF 1.2; widget annotations only) (Uppercase B, lowercase L) An action to
* be performed when the annotation loses the input focus. (The name Bl stands for
* "blurred.")
**/
bool has_Bl() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Bl", "", NULL));
}
SkPdfDictionary* Bl() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Bl", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entries common to all annotation dictionaries
class SkPdfAnnotationDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kAnnotationDictionary_SkPdfObjectType;}
@ -521,6 +522,13 @@ public:
SkPdfAnnotationDictionary& operator=(const SkPdfAnnotationDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Optional) The type of PDF object that this dictionary describes; if present,
* must be Annot for an annotation dictionary.
**/
bool has_Type() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", NULL));
}
std::string Type() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
@ -528,6 +536,13 @@ public:
return "";
}
/** (Required) The type of annotation that this dictionary describes; see Table
* 8.14 on page 499 for specific values.
**/
bool has_Subtype() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", NULL));
}
std::string Subtype() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", &ret)) return ret;
@ -535,6 +550,17 @@ public:
return "";
}
/** (Required or optional, depending on the annotation type) Text to be displayed
* for the annotation or, if this type of annotation does not display text, an al-
* ternate description of the annotation's contents in human-readable form. In
* either case, this text is useful when extracting the document's contents in
* support of accessibility to disabled users or for other purposes (see Section
* 9.8.2, "Alternate Descriptions").
**/
bool has_Contents() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Contents", "", NULL));
}
std::string Contents() const {
std::string ret;
if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Contents", "", &ret)) return ret;
@ -542,6 +568,13 @@ public:
return "";
}
/** (Optional; PDF 1.3; not used in FDF files) An indirect reference to the page
* object with which this annotation is associated.
**/
bool has_P() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "P", "", NULL));
}
SkPdfDictionary* P() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "P", "", &ret)) return ret;
@ -549,6 +582,13 @@ public:
return NULL;
}
/** (Required) The annotation rectangle, defining the location of the annotation
* on the page in default user space units.
**/
bool has_Rect() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Rect", "", NULL));
}
SkRect Rect() const {
SkRect ret;
if (SkRectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Rect", "", &ret)) return ret;
@ -556,6 +596,22 @@ public:
return SkRect();
}
/** (Optional; PDF 1.4) The annotation name, a text string uniquely identifying
* it among all the annotations on its page.
**/
bool has_NM() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "NM", "", NULL));
}
/** (Optional; PDF 1.1) The date and time when the annotation was most
* recently modified. The preferred format is a date string as described in Sec-
* tion 3.8.2, "Dates," but viewer applications should be prepared to accept and
* display a string in any format. (See implementation note 59 in Appendix H.)
**/
bool has_M() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "M", "", NULL));
}
bool isMADate() const {
SkPdfObject* ret = NULL;
if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "M", "", &ret)) return false;
@ -582,6 +638,13 @@ public:
return "";
}
/** (Optional; PDF 1.1) A set of flags specifying various characteristics of the an-
* notation (see Section 8.4.2, "Annotation Flags"). Default value: 0.
**/
bool has_F() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "F", "", NULL));
}
long F() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "F", "", &ret)) return ret;
@ -589,6 +652,17 @@ public:
return 0;
}
/** (Optional; PDF 1.2) A border style dictionary specifying the characteristics of
* the annotation's border (see Section 8.4.3, "Border Styles"; see also imple-
* mentation note 60 in Appendix H).
* Note: This entry also specifies the width and dash pattern for the lines drawn by
* line, square, circle, and ink annotations. See the note under Border (below) for
* additional information.
**/
bool has_BS() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BS", "", NULL));
}
SkPdfDictionary* BS() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BS", "", &ret)) return ret;
@ -596,6 +670,33 @@ public:
return NULL;
}
/** (Optional) An array specifying the characteristics of the annotation's border.
* The border is specified as a "rounded rectangle."
* In PDF 1.0, the array consists of three numbers defining the horizontal cor-
* ner radius, vertical corner radius, and border width, all in default user space
* units. If the corner radii are 0, the border has square (not rounded) corners;
* if the border width is 0, no border is drawn. (See implementation note 61 in
* Appendix H.)
* In PDF 1.1, the array may have a fourth element, an optional dash array
* defining a pattern of dashes and gaps to be used in drawing the border. The
* dash array is specified in the same format as in the line dash pattern parame-
* ter of the graphics state (see "Line Dash Pattern" on page 155). For example,
* a Border value of [0 0 1 [3 2]] specifies a border 1 unit wide, with square
* corners, drawn with 3-unit dashes alternating with 2-unit gaps. Note that no
* dash phase is specified; the phase is assumed to be 0. (See implementation
* note 62 in Appendix H.)
* Note: In PDF 1.2 or later, annotations may ignore this entry and use the BS
* entry (see above) to specify their border styles instead. In PDF 1.2 and 1.3, only
* widget annotations do so; in PDF 1.4, all of the standard annotation types ex-
* cept Link (see Table 8.14 on page 499) use BS rather than Border if both are
* present. For backward compatibility, however, Border is still supported for all
* annotation types.
* Default value: [0 0 1].
**/
bool has_Border() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Border", "", NULL));
}
SkPdfArray Border() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Border", "", &ret)) return ret;
@ -603,6 +704,14 @@ public:
return SkPdfArray();
}
/** (Optional; PDF 1.2) An appearance dictionary specifying how the annotation
* is presented visually on the page (see Section 8.4.4, "Appearance Streams";
* see also implementation note 60 in Appendix H).
**/
bool has_AP() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AP", "", NULL));
}
SkPdfDictionary* AP() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AP", "", &ret)) return ret;
@ -610,6 +719,15 @@ public:
return NULL;
}
/** (Required if the appearance dictionary AP contains one or more subdictionaries;
* PDF 1.2) The annotation's appearance state, which selects the applicable
* appearance stream from an appearance subdictionary (see Section 8.4.4,
* "Appearance Streams"; see also implementation note 60 in Appendix H).
**/
bool has_AS() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AS", "", NULL));
}
std::string AS() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AS", "", &ret)) return ret;
@ -617,6 +735,17 @@ public:
return "";
}
/** (Optional; PDF 1.1) An array of three numbers in the range 0.0 to 1.0, repre-
* senting the components of a color in the DeviceRGB color space. This color
* will be used for the following purposes:
* * The background of the annotation's icon when closed
* * The title bar of the annotation's pop-up window
* * The border of a link annotation
**/
bool has_C() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "C", "", NULL));
}
SkPdfArray C() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "C", "", &ret)) return ret;
@ -624,6 +753,27 @@ public:
return SkPdfArray();
}
/** (Optional; PDF 1.4) The constant opacity value to be used in painting the
* annotation (see Sections 7.1, "Overview of Transparency," and 7.2.6, "Shape
* and Opacity Computations"). This value applies to all visible elements of
* the annotation in its closed state (including its background and border), but
* not to the pop-up window that appears when the annotation is opened. The
* specified value is used as the initial alpha constant (both stroking and non-
* stroking) for interpreting the annotation's appearance stream, if any (see
* Section 8.4.4, "Appearance Streams," and "Constant Shape and Opacity" on
* page 444). The implicit blend mode (see Section 7.2.4, "Blend Mode") is
* Normal. Default value: 1.0.
* Note: If no explicit appearance stream is defined for the annotation, it will be
* painted by implementation-dependent means that do not necessarily conform to
* the Adobe imaging model; in this case, the effect of this entry is implementation-
* dependent as well.
* Note: This entry is recognized by all of the standard annotation types listed in
* Table 8.14 on page 499 except Link, Movie, Widget, PrinterMark, and TrapNet.
**/
bool has_CA() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CA", "", NULL));
}
double CA() const {
double ret;
if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CA", "", &ret)) return ret;
@ -631,6 +781,13 @@ public:
return 0;
}
/** (Optional; PDF 1.1) The text label to be displayed in the title bar of the anno-
* tation's pop-up window when open and active.
**/
bool has_T() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "T", "", NULL));
}
std::string T() const {
std::string ret;
if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "T", "", &ret)) return ret;
@ -638,6 +795,13 @@ public:
return "";
}
/** (Optional; PDF 1.3) An indirect reference to a pop-up annotation for enter-
* ing or editing the text associated with this annotation.
**/
bool has_Popup() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Popup", "", NULL));
}
SkPdfDictionary* Popup() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Popup", "", &ret)) return ret;
@ -645,6 +809,16 @@ public:
return NULL;
}
/** (Optional; PDF 1.1) An action to be performed when the annotation is acti-
* vated (see Section 8.5, "Actions").
* Note: This entry is not permitted in link annotations if a Dest entry is present
* (see "Link Annotations" on page 501). Also note that the A entry in movie anno-
* tations has a different meaning (see "Movie Annotations" on page 510).
**/
bool has_A() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "A", "", NULL));
}
SkPdfDictionary* A() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "A", "", &ret)) return ret;
@ -652,6 +826,15 @@ public:
return NULL;
}
/** (Optional; PDF 1.2) An additional-actions dictionary defining the anno-
* tation's behavior in response to various trigger events (see Section 8.5.2,
* "Trigger Events"). At the time of publication, this entry is used only by wid-
* get annotations.
**/
bool has_AA() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AA", "", NULL));
}
SkPdfDictionary* AA() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AA", "", &ret)) return ret;
@ -659,6 +842,14 @@ public:
return NULL;
}
/** (Required if the annotation is a structural content item; PDF 1.3) The integer
* key of the annotation's entry in the structural parent tree (see "Finding Struc-
* ture Elements from Content Items" on page 600).
**/
bool has_StructParent() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "StructParent", "", NULL));
}
long StructParent() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "StructParent", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entries in an appearance characteristics dictionary
class SkPdfAppearanceCharacteristicsDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kAppearanceCharacteristicsDictionary_SkPdfObjectType;}
@ -521,6 +522,14 @@ public:
SkPdfAppearanceCharacteristicsDictionary& operator=(const SkPdfAppearanceCharacteristicsDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Optional) The number of degrees by which the widget annotation is rotated
* counterclockwise relative to the page. The value must be a multiple of 90.
* Default value: 0.
**/
bool has_R() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "R", "", NULL));
}
long R() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "R", "", &ret)) return ret;
@ -528,6 +537,18 @@ public:
return 0;
}
/** (Optional) An array of numbers in the range 0.0 to 1.0 specifying the color of the
* widget annotation's border. The number of array elements determines the color
* space in which the color is defined:
* 0 No color; transparent
* 1 DeviceGray
* 3 DeviceRGB
* 4 DeviceCMYK
**/
bool has_BC() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BC", "", NULL));
}
SkPdfArray BC() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BC", "", &ret)) return ret;
@ -535,6 +556,14 @@ public:
return SkPdfArray();
}
/** (Optional) An array of numbers in the range 0.0 to 1.0 specifying the color of the
* widget annotation's background. The number of array elements determines the
* color space, as described above for BC.
**/
bool has_BG() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BG", "", NULL));
}
SkPdfArray BG() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BG", "", &ret)) return ret;
@ -542,6 +571,17 @@ public:
return SkPdfArray();
}
/** (Optional; button fields only) The widget annotation's normal caption, displayed
* when it is not interacting with the user.
* Note: Unlike the remaining entries listed below, which apply only to widget annota-
* tions associated with pushbutton fields (see "Pushbuttons" on page 539), the CA
* entry can be used with any type of button field, including checkboxes ("Checkboxes"
* on page 539) and radio buttons ("Radio Buttons" on page 540).
**/
bool has_CA() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CA", "", NULL));
}
std::string CA() const {
std::string ret;
if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CA", "", &ret)) return ret;
@ -549,6 +589,14 @@ public:
return "";
}
/** (Optional; pushbutton fields only) The widget annotation's rollover caption, dis-
* played when the user rolls the cursor into its active area without pressing the
* mouse button.
**/
bool has_RC() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "RC", "", NULL));
}
std::string RC() const {
std::string ret;
if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "RC", "", &ret)) return ret;
@ -556,6 +604,13 @@ public:
return "";
}
/** (Optional; pushbutton fields only) The widget annotation's alternate (down)
* caption, displayed when the mouse button is pressed within its active area.
**/
bool has_AC() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AC", "", NULL));
}
std::string AC() const {
std::string ret;
if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AC", "", &ret)) return ret;
@ -563,6 +618,14 @@ public:
return "";
}
/** (Optional; pushbutton fields only; must be an indirect reference) A form XObject
* defining the widget annotation's normal icon, displayed when it is not inter-
* acting with the user.
**/
bool has_I() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "I", "", NULL));
}
SkPdfStream I() const {
SkPdfStream ret;
if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "I", "", &ret)) return ret;
@ -570,6 +633,14 @@ public:
return SkPdfStream();
}
/** (Optional; pushbutton fields only; must be an indirect reference) A form XObject
* defining the widget annotation's rollover icon, displayed when the user rolls the
* cursor into its active area without pressing the mouse button.
**/
bool has_RI() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "RI", "", NULL));
}
SkPdfStream RI() const {
SkPdfStream ret;
if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "RI", "", &ret)) return ret;
@ -577,6 +648,14 @@ public:
return SkPdfStream();
}
/** (Optional; pushbutton fields only; must be an indirect reference) A form XObject
* defining the widget annotation's alternate (down) icon, displayed when the
* mouse button is pressed within its active area.
**/
bool has_IX() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "IX", "", NULL));
}
SkPdfStream IX() const {
SkPdfStream ret;
if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "IX", "", &ret)) return ret;
@ -584,6 +663,15 @@ public:
return SkPdfStream();
}
/** (Optional; pushbutton fields only) An icon fit dictionary (see Table 8.73 on page
* 566) specifying how to display the widget annotation's icon within its
* annotation rectangle. If present, the icon fit dictionary applies to all of the anno-
* tation's icons (normal, rollover, and alternate).
**/
bool has_IF() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "IF", "", NULL));
}
SkPdfDictionary* IF() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "IF", "", &ret)) return ret;
@ -591,6 +679,21 @@ public:
return NULL;
}
/** (Optional; pushbutton fields only) A code indicating where to position the text of
* the widget annotation's caption relative to its icon:
* 0 No icon; caption only
* 1 No caption; icon only
* 2 Caption below the icon
* 3 Caption above the icon
* 4 Caption to the right of the icon
* 5 Caption to the left of the icon
* 6 Caption overlaid directly on the icon
* Default value: 0.
**/
bool has_TP() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TP", "", NULL));
}
long TP() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TP", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entries in an appearance dictionary
class SkPdfAppearanceDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kAppearanceDictionary_SkPdfObjectType;}
@ -521,6 +522,12 @@ public:
SkPdfAppearanceDictionary& operator=(const SkPdfAppearanceDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Required) The annotation's normal appearance.
**/
bool has_N() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "N", "", NULL));
}
bool isNAStream() const {
SkPdfObject* ret = NULL;
if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "N", "", &ret)) return false;
@ -547,6 +554,13 @@ public:
return NULL;
}
/** (Optional) The annotation's rollover appearance. Default value: the value of
* the N entry.
**/
bool has_R() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "R", "", NULL));
}
bool isRAStream() const {
SkPdfObject* ret = NULL;
if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "R", "", &ret)) return false;
@ -573,6 +587,13 @@ public:
return NULL;
}
/** (Optional) The annotation's down appearance. Default value: the value of the
* N entry.
**/
bool has_D() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "D", "", NULL));
}
bool isDAStream() const {
SkPdfObject* ret = NULL;
if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "D", "", &ret)) return false;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entries in an application data dictionary
class SkPdfApplicationDataDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kApplicationDataDictionary_SkPdfObjectType;}
@ -521,6 +522,13 @@ public:
SkPdfApplicationDataDictionary& operator=(const SkPdfApplicationDataDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Required) The date and time when the contents of the page or form
* were most recently modified by this application.
**/
bool has_LastModified() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "LastModified", "", NULL));
}
SkPdfDate LastModified() const {
SkPdfDate ret;
if (DateFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "LastModified", "", &ret)) return ret;
@ -528,6 +536,13 @@ public:
return SkPdfDate();
}
/** (Optional) Any private data appropriate to the application, typically
* in the form of a dictionary.
**/
bool has_Private() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Private", "", NULL));
}
SkPdfObject* Private() const {
SkPdfObject* ret;
if (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Private", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Property list entries for artifacts
class SkPdfArtifactsDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kArtifactsDictionary_SkPdfObjectType;}
@ -521,6 +522,13 @@ public:
SkPdfArtifactsDictionary& operator=(const SkPdfArtifactsDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Optional) The type of artifact that this property list describes; if present, must
* be one of the names Pagination, Layout, or Page.
**/
bool has_Type() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", NULL));
}
std::string Type() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
@ -528,6 +536,14 @@ public:
return "";
}
/** (Optional) An array of four numbers in default user space units giving the coor-
* dinates of the left, bottom, right, and top edges, respectively, of the artifact's
* bounding box (the rectangle that completely encloses its visible extent).
**/
bool has_BBox() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BBox", "", NULL));
}
SkRect BBox() const {
SkRect ret;
if (SkRectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BBox", "", &ret)) return ret;
@ -535,6 +551,17 @@ public:
return SkRect();
}
/** (Optional; pagination artifacts only) An array of name objects containing one to
* four of the names Top, Bottom, Left, and Right, specifying the edges of the page, if
* any, to which the artifact is logically attached. Page edges are defined by the
* page's crop box (see Section 9.10.1, "Page Boundaries"). The ordering of names
* within the array is immaterial. Including both Left and Right or both Top and
* Bottom indicates a full-width or full-height artifact, respectively.
**/
bool has_Attached() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Attached", "", NULL));
}
SkPdfArray Attached() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Attached", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entry common to all attribute objects
class SkPdfAttributeObjectDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kAttributeObjectDictionary_SkPdfObjectType;}
@ -521,6 +522,13 @@ public:
SkPdfAttributeObjectDictionary& operator=(const SkPdfAttributeObjectDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Required) The name of the application or plug-in extension owning the attribute data.
* The name must conform to the guidelines described in Appendix E.
**/
bool has_O() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "O", "", NULL));
}
std::string O() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "O", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entries in a bead dictionary
class SkPdfBeadDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kBeadDictionary_SkPdfObjectType;}
@ -521,6 +522,13 @@ public:
SkPdfBeadDictionary& operator=(const SkPdfBeadDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Optional) The type of PDF object that this dictionary describes; if present, must be
* Bead for a bead dictionary.
**/
bool has_Type() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", NULL));
}
std::string Type() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
@ -528,6 +536,15 @@ public:
return "";
}
/** (Required for the first bead of a thread; optional for all others; must be an indirect refer-
* ence) The thread to which this bead belongs.
* Note: In PDF 1.1, this entry is permitted only for the first bead of a thread. In PDF 1.2
* and higher, it is permitted for any bead but required only for the first.
**/
bool has_T() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "T", "", NULL));
}
SkPdfDictionary* T() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "T", "", &ret)) return ret;
@ -535,6 +552,13 @@ public:
return NULL;
}
/** (Required; must be an indirect reference) The next bead in the thread. In the last bead,
* this entry points to the first.
**/
bool has_N() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "N", "", NULL));
}
SkPdfDictionary* N() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "N", "", &ret)) return ret;
@ -542,6 +566,13 @@ public:
return NULL;
}
/** (Required; must be an indirect reference) The previous bead in the thread. In the first
* bead, this entry points to the last.
**/
bool has_V() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "V", "", NULL));
}
SkPdfDictionary* V() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "V", "", &ret)) return ret;
@ -549,6 +580,13 @@ public:
return NULL;
}
/** (Required; must be an indirect reference) The page object representing the page on
* which this bead appears.
**/
bool has_P() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "P", "", NULL));
}
SkPdfDictionary* P() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "P", "", &ret)) return ret;
@ -556,6 +594,12 @@ public:
return NULL;
}
/** (Required) A rectangle specifying the location of this bead on the page.
**/
bool has_R() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "R", "", NULL));
}
SkRect R() const {
SkRect ret;
if (SkRectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "R", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Additional standard layout attributes specific to block-level structure elements
class SkPdfBlockLevelStructureElementsDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kBlockLevelStructureElementsDictionary_SkPdfObjectType;}
@ -521,6 +522,19 @@ public:
SkPdfBlockLevelStructureElementsDictionary& operator=(const SkPdfBlockLevelStructureElementsDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Optional) The amount of extra space preceding the before edge of the BLSE,
* measured in default user space units in the block-progression direction. This
* value is added to any adjustments induced by the LineHeight attributes of
* ILSEs within the first line of the BLSE (see "Layout Attributes for ILSEs" on
* page 646). If the preceding BLSE has a SpaceAfter attribute, the greater of the
* two attribute values is used. Default value: 0.
* Note: This attribute is disregarded for the first BLSE placed in a given reference
* area.
**/
bool has_SpaceBefore() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SpaceBefore", "", NULL));
}
double SpaceBefore() const {
double ret;
if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SpaceBefore", "", &ret)) return ret;
@ -528,6 +542,19 @@ public:
return 0;
}
/** (Optional) The amount of extra space following the after edge of the BLSE,
* measured in default user space units in the block-progression direction. This
* value is added to any adjustments induced by the LineHeight attributes of
* ILSEs within the last line of the BLSE (see "Layout Attributes for ILSEs" on
* page 646). If the following BLSE has a SpaceBefore attribute, the greater of
* the two attribute values is used. Default value: 0.
* Note: This attribute is disregarded for the last BLSE placed in a given reference
* area.
**/
bool has_SpaceAfter() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SpaceAfter", "", NULL));
}
double SpaceAfter() const {
double ret;
if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SpaceAfter", "", &ret)) return ret;
@ -535,6 +562,25 @@ public:
return 0;
}
/** (Optional) The distance from the start edge of the reference area to that of the
* BLSE, measured in default user space units in the inline-progression direc-
* tion. This attribute applies only to structure elements with a Placement
* attribute of Block or Start (see "General Layout Attributes" on page 640); it is
* disregarded for those with other Placement values. Default value: 0.
* Note: A negative value for this attribute places the start edge of the BLSE out-
* side that of the reference area. The results are implementation-dependent and
* may not be supported by all Tagged PDF consumer applications or export
* formats.
* Note: If a structure element with a StartIndent attribute is placed adjacent to a
* floating element with a Placement attribute of Start, the actual value used for
* the element's starting indent will be its own StartIndent attribute or the inline
* extent of the adjacent floating element, whichever is greater. This value may
* then be further adjusted by the element's TextIndent attribute, if any.
**/
bool has_StartIndent() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "StartIndent", "", NULL));
}
double StartIndent() const {
double ret;
if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "StartIndent", "", &ret)) return ret;
@ -542,6 +588,23 @@ public:
return 0;
}
/** (Optional) The distance from the end edge of the BLSE to that of the ref-
* erence area, measured in default user space units in the inline-progression
* direction. This attribute applies only to structure elements with a Placement
* attribute of Block or End (see "General Layout Attributes" on page 640); it is
* disregarded for those with other Placement values. Default value: 0.
* Note: A negative value for this attribute places the end edge of the BLSE outside
* that of the reference area. The results are implementation-dependent and may
* not be supported by all Tagged PDF consumer applications or export formats.
* Note: If a structure element with an EndIndent attribute is placed adjacent to a
* floating element with a Placement attribute of End, the actual value used for the
* element's ending indent will be its own EndIndent attribute or the inline extent
* of the adjacent floating element, whichever is greater.
**/
bool has_EndIndent() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "EndIndent", "", NULL));
}
double EndIndent() const {
double ret;
if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "EndIndent", "", &ret)) return ret;
@ -549,6 +612,19 @@ public:
return 0;
}
/** (Optional; applies only to some BLSEs, as described below) The additional
* distance, measured in default user space units in the inline-progression
* direction, from the start edge of the BLSE, as specified by StartIndent
* (above), to that of the first line of text. A negative value indicates a hanging
* indent. Default value: 0.
* This attribute applies only to paragraphlike BLSEs and those of structure
* types Lbl (Label), LBody (List body), TH (Table header), and TD (Table data),
* provided that they contain content other than nested BLSEs.
**/
bool has_TextIndent() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TextIndent", "", NULL));
}
double TextIndent() const {
double ret;
if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TextIndent", "", &ret)) return ret;
@ -556,6 +632,21 @@ public:
return 0;
}
/** (Optional; applies only to BLSEs containing text) The alignment, in the inline-
* progression direction, of text and other content within lines of the BLSE:
* Start Aligned with the start edge.
* Center Centered between the start and end edges.
* End Aligned with the end edge.
* Justify Aligned with both the start and end edges, with internal
* spacing within each line expanded, if necessary, to achieve
* such alignment. The last (or only) line is aligned with the
* start edge only, as for Start (above).
* Default value: Start.
**/
bool has_TextAlign() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TextAlign", "", NULL));
}
std::string TextAlign() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TextAlign", "", &ret)) return ret;
@ -563,6 +654,17 @@ public:
return "";
}
/** (Illustrations and tables only; required if the element appears in its entirety on a
* single page) An array of four numbers in default user space units giving the
* coordinates of the left, bottom, right, and top edges, respectively, of the ele-
* ment's bounding box (the rectangle that completely encloses its visible con-
* tent). This attribute applies only to elements of structure type Figure,
* Formula, Form, or Table.
**/
bool has_BBox() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BBox", "", NULL));
}
SkRect BBox() const {
SkRect ret;
if (SkRectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BBox", "", &ret)) return ret;
@ -570,6 +672,20 @@ public:
return SkRect();
}
/** (Optional; illustrations, tables, table headers, and table cells only; strongly
* recommended for table cells) The desired width of the element's content
* rectangle (see "Content and Allocation Rectangles" on page 648), measured
* in default user space units in the inline-progression direction. This attribute
* applies only to elements of structure type Figure, Formula, Form, Table, TH
* (Table header), or TD (Table data).
* The name Auto in place of a numeric value indicates that no specific width
* constraint is to be imposed; the element's width is determined by the intrin-
* sic width of its content. Default value: Auto.
**/
bool has_Width() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Width", "", NULL));
}
bool isWidthANumber() const {
SkPdfObject* ret = NULL;
if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Width", "", &ret)) return false;
@ -596,6 +712,19 @@ public:
return "";
}
/** (Optional; illustrations, tables, table headers, and table cells only) The desired
* height of the element's content rectangle (see "Content and Allocation
* Rectangles" on page 648), measured in default user space units in the block-
* progression direction. This attribute applies only to elements of structure
* type Figure, Formula, Form, Table, TH (Table header), or TD (Table data).
* The name Auto in place of a numeric value indicates that no specific height
* constraint is to be imposed; the element's height is determined by the intrin-
* sic height of its content. Default value: Auto.
**/
bool has_Height() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Height", "", NULL));
}
bool isHeightANumber() const {
SkPdfObject* ret = NULL;
if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Height", "", &ret)) return false;
@ -622,6 +751,32 @@ public:
return "";
}
/** (Optional; table cells only) The alignment, in the block-progression direction,
* of content within the table cell:
* Before Before edge of the first child's allocation rectangle aligned
* with that of the table cell's content rectangle.
* Middle Children centered within the table cell, so that the distance
* between the before edge of the first child's allocation rec-
* tangle and that of the table cell's content rectangle is the same
* as the distance between the after edge of the last child's allo-
* cation rectangle and that of the table cell's content rectangle.
* After After edge of the last child's allocation rectangle aligned with
* that of the table cell's content rectangle.
* Justify Children aligned with both the before and after edges of the
* table cell's content rectangle. The first child is placed as
* described above for Before and the last child as described for
* After, with equal spacing between the children. If there is only
* one child, it is aligned with the before edge only, as for Before.
* This attribute applies only to elements of structure type TH (Table header) or
* TD (Table data), and controls the placement of all BLSEs that are children of
* the given element. The table cell's content rectangle (see "Content and Allo-
* cation Rectangles" on page 648) becomes the reference area for all of its
* descendants. Default value: Before.
**/
bool has_BlockAlign() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BlockAlign", "", NULL));
}
std::string BlockAlign() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BlockAlign", "", &ret)) return ret;
@ -629,6 +784,26 @@ public:
return "";
}
/** (Optional; table cells only) The alignment, in the inline-progression direction,
* of content within the table cell:
* Start Start edge of each child's allocation rectangle aligned with
* that of the table cell's content rectangle
* Center Each child centered within the table cell, so that the distance
* between the start edges of the child's allocation rectangle and
* the table cell's content rectangle is the same as the distance
* between their end edges
* End End edge of each child's allocation rectangle aligned with
* that of the table cell's content rectangle
* This attribute applies only to elements of structure type TH (Table header) or
* TD (Table data), and controls the placement of all BLSEs that are children of
* the given element. The table cell's content rectangle (see "Content and Allo-
* cation Rectangles" on page 648) becomes the reference area for all of its
* descendants. Default value: Start.
**/
bool has_InlineAlign() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "InlineAlign", "", NULL));
}
std::string InlineAlign() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "InlineAlign", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entries in a border style dictionary
class SkPdfBorderStyleDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kBorderStyleDictionary_SkPdfObjectType;}
@ -521,6 +522,13 @@ public:
SkPdfBorderStyleDictionary& operator=(const SkPdfBorderStyleDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Optional) The type of PDF object that this dictionary describes; if present, must be
* Border for a border style dictionary.
**/
bool has_Type() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", NULL));
}
std::string Type() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
@ -528,6 +536,13 @@ public:
return "";
}
/** (Optional) The border width in points. If this value is 0, no border is drawn. Default
* value: 1.
**/
bool has_W() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "W", "", NULL));
}
double W() const {
double ret;
if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "W", "", &ret)) return ret;
@ -535,6 +550,22 @@ public:
return 0;
}
/** (Optional) The border style:
* S (Solid) A solid rectangle surrounding the annotation.
* D (Dashed) A dashed rectangle surrounding the annotation. The dash pattern
* is specified by the D entry (see below).
* B (Beveled) A simulated embossed rectangle that appears to be raised above the
* surface of the page.
* I (Inset) A simulated engraved rectangle that appears to be recessed below the
* surface of the page.
* U (Underline) A single line along the bottom of the annotation rectangle.
* Other border styles may be defined in the future. (See implementation note 64 in
* Appendix H.) Default value: S.
**/
bool has_S() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", NULL));
}
std::string S() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", &ret)) return ret;
@ -542,6 +573,17 @@ public:
return "";
}
/** (Optional) A dash array defining a pattern of dashes and gaps to be used in drawing a
* dashed border (border style D above). The dash array is specified in the same format
* as in the line dash pattern parameter of the graphics state (see "Line Dash Pattern" on
* page 155). The dash phase is not specified and is assumed to be 0. For example, a D
* entry of [3 2] specifies a border drawn with 3-point dashes alternating with 2-point
* gaps. Default value: [3].
**/
bool has_D() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "D", "", NULL));
}
SkPdfArray D() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "D", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entries in a box color information dictionary
class SkPdfBoxColorInformationDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kBoxColorInformationDictionary_SkPdfObjectType;}
@ -521,6 +522,14 @@ public:
SkPdfBoxColorInformationDictionary& operator=(const SkPdfBoxColorInformationDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Optional) A box style dictionary (see Table 9.42) specifying the visual characteris-
* tics for displaying guidelines for the page's crop box. This entry is ignored if no crop
* box is defined in the page object.
**/
bool has_CropBox() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CropBox", "", NULL));
}
SkPdfDictionary* CropBox() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CropBox", "", &ret)) return ret;
@ -528,6 +537,14 @@ public:
return NULL;
}
/** (Optional) A box style dictionary (see Table 9.42) specifying the visual characteris-
* tics for displaying guidelines for the page's bleed box. This entry is ignored if no
* bleed box is defined in the page object.
**/
bool has_BleedBox() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BleedBox", "", NULL));
}
SkPdfDictionary* BleedBox() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BleedBox", "", &ret)) return ret;
@ -535,6 +552,14 @@ public:
return NULL;
}
/** (Optional) A box style dictionary (see Table 9.42) specifying the visual characteris-
* tics for displaying guidelines for the page's trim box. This entry is ignored if no trim
* box is defined in the page object.
**/
bool has_TrimBox() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TrimBox", "", NULL));
}
SkPdfDictionary* TrimBox() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TrimBox", "", &ret)) return ret;
@ -542,6 +567,14 @@ public:
return NULL;
}
/** (Optional) A box style dictionary (see Table 9.42) specifying the visual characteris-
* tics for displaying guidelines for the page's art box. This entry is ignored if no art
* box is defined in the page object.
**/
bool has_ArtBox() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ArtBox", "", NULL));
}
SkPdfDictionary* ArtBox() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ArtBox", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entries in a box style dictionary
class SkPdfBoxStyleDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kBoxStyleDictionary_SkPdfObjectType;}
@ -521,6 +522,14 @@ public:
SkPdfBoxStyleDictionary& operator=(const SkPdfBoxStyleDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Required) An array of three numbers in the range 0.0 to 1.0, representing the com-
* ponents in the DeviceRGB color space of the color to be used for displaying the
* guidelines. Default value: [0.0 0.0 0.0].
**/
bool has_C() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "C", "", NULL));
}
SkPdfArray C() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "C", "", &ret)) return ret;
@ -528,6 +537,12 @@ public:
return SkPdfArray();
}
/** (Optional) The guideline width in default user space units. Default value: 1.
**/
bool has_W() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "W", "", NULL));
}
double W() const {
double ret;
if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "W", "", &ret)) return ret;
@ -535,6 +550,16 @@ public:
return 0;
}
/** (Optional) The guideline style:
* S (Solid) A solid rectangle.
* D (Dashed) A dashed rectangle. The dash pattern is specified by the D entry
* (see below).
* Other guideline styles may be defined in the future. Default value: S.
**/
bool has_S() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", NULL));
}
std::string S() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", &ret)) return ret;
@ -542,6 +567,17 @@ public:
return "";
}
/** (Optional) A dash array defining a pattern of dashes and gaps to be used in drawing
* dashed guidelines (guideline style D above). The dash array is specified in default
* user space units, in the same format as in the line dash pattern parameter of the
* graphics state (see "Line Dash Pattern" on page 155). The dash phase is not speci-
* fied and is assumed to be 0. For example, a D entry of [3 2] specifies guidelines
* drawn with 3-point dashes alternating with 2-point gaps. Default value: [3].
**/
bool has_D() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "D", "", NULL));
}
SkPdfArray D() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "D", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Additional font descriptor entries for CIDFonts
class SkPdfCIDFontDescriptorDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kCIDFontDescriptorDictionary_SkPdfObjectType;}
@ -521,6 +522,13 @@ public:
SkPdfCIDFontDescriptorDictionary& operator=(const SkPdfCIDFontDescriptorDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Optional) A dictionary containing entries that describe the style of the glyphs in
* the font (see "Style," above).
**/
bool has_Style() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Style", "", NULL));
}
SkPdfDictionary* Style() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Style", "", &ret)) return ret;
@ -528,6 +536,16 @@ public:
return NULL;
}
/** (Optional) A name specifying the language of the font, used for encodings where
* the language is not implied by the encoding itself. The possible values are the
* 2-character language codes defined by ISO 639-for example, en for English and ja
* for Japanese. The complete list of these codes be obtained from the International
* Organization for Standardization (see the Bibliography).
**/
bool has_Lang() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Lang", "", NULL));
}
std::string Lang() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Lang", "", &ret)) return ret;
@ -535,6 +553,15 @@ public:
return "";
}
/** (Optional) A dictionary whose keys identify a class of characters in a CIDFont.
* Each value is a dictionary containing entries that override the corresponding
* values in the main font descriptor dictionary for that class of characters (see "FD,"
* below).
**/
bool has_FD() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FD", "", NULL));
}
SkPdfDictionary* FD() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FD", "", &ret)) return ret;
@ -542,6 +569,19 @@ public:
return NULL;
}
/** (Optional) A stream identifying which CIDs are present in the CIDFont file. If this
* entry is present, the CIDFont contains only a subset of the glyphs in the character
* collection defined by the CIDSystemInfo dictionary. If it is absent, the only indica-
* tion of a CIDFont subset is the subset tag in the FontName entry (see Section 5.5.3,
* "Font Subsets").
* The stream's data is organized as a table of bits indexed by CID. The bits should be
* stored in bytes with the high-order bit first. Each bit corresponds to a CID. The first
* bit of the first byte corresponds to CID 0, the next bit to CID 1, and so on.
**/
bool has_CIDSet() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CIDSet", "", NULL));
}
SkPdfStream CIDSet() const {
SkPdfStream ret;
if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CIDSet", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfFontDictionary_autogen.h"
// Entries in a CIDFont dictionary
class SkPdfCIDFontDictionary : public SkPdfFontDictionary {
public:
virtual SkPdfObjectType getType() const { return kCIDFontDictionary_SkPdfObjectType;}
@ -38,6 +39,13 @@ public:
SkPdfCIDFontDictionary& operator=(const SkPdfCIDFontDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Required) The type of PDF object that this dictionary describes; must be
* Font for a CIDFont dictionary.
**/
bool has_Type() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", NULL));
}
std::string Type() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
@ -45,6 +53,12 @@ public:
return "";
}
/** (Required) The type of CIDFont; CIDFontType0 or CIDFontType2.
**/
bool has_Subtype() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", NULL));
}
std::string Subtype() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", &ret)) return ret;
@ -52,6 +66,16 @@ public:
return "";
}
/** (Required) The PostScript name of the CIDFont. For Type 0 CIDFonts, this
* is usually the value of the CIDFontName entry in the CIDFont program. For
* Type 2 CIDFonts, it is derived the same way as for a simple TrueType font;
* see Section 5.5.2, "TrueType Fonts." In either case, the name can have a sub-
* set prefix if appropriate; see Section 5.5.3, "Font Subsets."
**/
bool has_BaseFont() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BaseFont", "", NULL));
}
std::string BaseFont() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BaseFont", "", &ret)) return ret;
@ -59,6 +83,13 @@ public:
return "";
}
/** (Required) A dictionary containing entries that define the character collec-
* tion of the CIDFont. See Table 5.12 on page 337.
**/
bool has_CIDSystemInfo() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CIDSystemInfo", "", NULL));
}
SkPdfDictionary* CIDSystemInfo() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CIDSystemInfo", "", &ret)) return ret;
@ -66,6 +97,14 @@ public:
return NULL;
}
/** (Required; must be an indirect reference) A font descriptor describing the
* CIDFont's default metrics other than its glyph widths (see Section 5.7,
* "Font Descriptors").
**/
bool has_FontDescriptor() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FontDescriptor", "", NULL));
}
SkPdfDictionary* FontDescriptor() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FontDescriptor", "", &ret)) return ret;
@ -73,6 +112,13 @@ public:
return NULL;
}
/** (Optional) The default width for glyphs in the CIDFont (see "Glyph Met-
* rics in CIDFonts" on page 340). Default value: 1000.
**/
bool has_DW() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DW", "", NULL));
}
long DW() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DW", "", &ret)) return ret;
@ -80,6 +126,16 @@ public:
return 0;
}
/** (Optional) A description of the widths for the glyphs in the CIDFont. The
* array's elements have a variable format that can specify individual widths
* for consecutive CIDs or one width for a range of CIDs (see "Glyph Metrics
* in CIDFonts" on page 340). Default value: none (the DW value is used for
* all glyphs).
**/
bool has_W() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "W", "", NULL));
}
SkPdfArray W() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "W", "", &ret)) return ret;
@ -87,6 +143,14 @@ public:
return SkPdfArray();
}
/** (Optional; applies only to CIDFonts used for vertical writing) An array of two
* numbers specifying the default metrics for vertical writing (see "Glyph
* Metrics in CIDFonts" on page 340). Default value: [880 -1000].
**/
bool has_DW2() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DW2", "", NULL));
}
SkPdfArray DW2() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DW2", "", &ret)) return ret;
@ -94,6 +158,15 @@ public:
return SkPdfArray();
}
/** (Optional; applies only to CIDFonts used for vertical writing) A description of
* the metrics for vertical writing for the glyphs in the CIDFont (see "Glyph
* Metrics in CIDFonts" on page 340). Default value: none (the DW2 value is
* used for all glyphs).
**/
bool has_W2() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "W2", "", NULL));
}
SkPdfArray W2() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "W2", "", &ret)) return ret;
@ -101,6 +174,20 @@ public:
return SkPdfArray();
}
/** (Optional; Type 2 CIDFonts only) A specification of the mapping from CIDs
* to glyph indices. If the value is a stream, the bytes in the stream contain the
* mapping from CIDs to glyph indices: the glyph index for a particular CID
* value c is a 2-byte value stored in bytes 2 x c and 2 x c + 1, where the first
* byte is the high-order byte. If the value of CIDToGIDMap is a name, it must
* be Identity, indicating that the mapping between CIDs and glyph indices is
* the identity mapping. Default value: Identity.
* This entry may appear only in a Type 2 CIDFont whose associated True-
* Type font program is embedded in the PDF file (see the next section).
**/
bool has_CIDToGIDMap() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CIDToGIDMap", "", NULL));
}
bool isCIDToGIDMapAStream() const {
SkPdfObject* ret = NULL;
if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CIDToGIDMap", "", &ret)) return false;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entries in a CIDSystemInfo dictionary
class SkPdfCIDSystemInfoDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kCIDSystemInfoDictionary_SkPdfObjectType;}
@ -521,6 +522,15 @@ public:
SkPdfCIDSystemInfoDictionary& operator=(const SkPdfCIDSystemInfoDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Required) A string identifying the issuer of the character collection-for exam-
* ple, Adobe. For information about assigning a registry identifier, consult the ASN
* Developer Program Web site or contact the Adobe Solutions Network (see the
* Bibliography).
**/
bool has_Registry() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Registry", "", NULL));
}
std::string Registry() const {
std::string ret;
if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Registry", "", &ret)) return ret;
@ -528,6 +538,13 @@ public:
return "";
}
/** (Required) A string that uniquely names the character collection within the speci-
* fied registry-for example, Japan1.
**/
bool has_Ordering() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Ordering", "", NULL));
}
std::string Ordering() const {
std::string ret;
if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Ordering", "", &ret)) return ret;
@ -535,6 +552,16 @@ public:
return "";
}
/** (Required) The supplement number of the character collection. An original charac-
* ter collection has a supplement number of 0. Whenever additional CIDs are
* assigned in a character collection, the supplement number is increased. Supple-
* ments do not alter the ordering of existing CIDs in the character collection. This
* value is not used in determining compatibility between character collections.
**/
bool has_Supplement() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Supplement", "", NULL));
}
long Supplement() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Supplement", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Additional entries in a CMap dictionary
class SkPdfCMapDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kCMapDictionary_SkPdfObjectType;}
@ -521,6 +522,14 @@ public:
SkPdfCMapDictionary& operator=(const SkPdfCMapDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Required) The type of PDF object that this dictionary describes; must be
* CMap for a CMap dictionary. (Note that although this object is the value of
* an entry named Encoding in a Type 0 font, its type is CMap.)
**/
bool has_Type() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", NULL));
}
std::string Type() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
@ -528,6 +537,13 @@ public:
return "";
}
/** (Required) The PostScript name of the CMap. This should be the same as the
* value of CMapName in the CMap file itself.
**/
bool has_CMapName() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CMapName", "", NULL));
}
std::string CMapName() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CMapName", "", &ret)) return ret;
@ -535,6 +551,26 @@ public:
return "";
}
/** (Required) A dictionary or array containing entries that define the character
* collection for the CIDFont or CIDFonts associated with the CMap. If the
* CMap selects only font number 0 and specifies character selectors that are
* CIDs, this entry can be a dictionary identifying the character collection for
* the associated CIDFont. Otherwise, it is an array indexed by the font num-
* ber. If the character selectors for a given font number are CIDs, the corre-
* sponding array element is a dictionary identifying the character collection
* for the associated CIDFont. If the character selectors are names or codes (to
* be used with an associated font, not a CIDFont), the array element should
* be null. For details of the CIDSystemInfo dictionaries, see Section 5.6.2,
* "CIDSystemInfo Dictionaries."
* Note: In all PDF versions up to and including PDF 1.4, CIDSystemInfo must be
* either a dictionary or a one-element array containing a dictionary.
* The value of this entry should be the same as the value of CIDSystemInfo in
* the CMap file itself.
**/
bool has_CIDSystemInfo() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CIDSystemInfo", "", NULL));
}
bool isCIDSystemInfoADictionary() const {
SkPdfObject* ret = NULL;
if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CIDSystemInfo", "", &ret)) return false;
@ -561,6 +597,18 @@ public:
return SkPdfArray();
}
/** (Optional) A code that determines the writing mode for any CIDFont with
* which this CMap is combined:
* 0 Horizontal
* 1 Vertical
* Default value: 0.
* The value of this entry should be the same as the value of WMode in the
* CMap file itself.
**/
bool has_WMode() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "WMode", "", NULL));
}
long WMode() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "WMode", "", &ret)) return ret;
@ -568,6 +616,15 @@ public:
return 0;
}
/** (Optional) The name of a predefined CMap, or a stream containing a CMap,
* that is to be used as the base for this CMap. This allows the CMap to be de-
* fined differentially, specifying only the character mappings that differ from
* the base CMap.
**/
bool has_UseCMap() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "UseCMap", "", NULL));
}
bool isUseCMapAName() const {
SkPdfObject* ret = NULL;
if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "UseCMap", "", &ret)) return false;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entries in a CalGray color space dictionary
class SkPdfCalgrayColorSpaceDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kCalgrayColorSpaceDictionary_SkPdfObjectType;}
@ -521,6 +522,15 @@ public:
SkPdfCalgrayColorSpaceDictionary& operator=(const SkPdfCalgrayColorSpaceDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Required) An array of three numbers [XW YW ZW ] specifying the tri-
* stimulus value, in the CIE 1931 XYZ space, of the diffuse white point; see
* "CalRGB Color Spaces," below, for further discussion. The numbers XW and
* ZW must be positive, and YW must be equal to 1.0.
**/
bool has_WhitePoint() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "WhitePoint", "", NULL));
}
SkPdfArray WhitePoint() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "WhitePoint", "", &ret)) return ret;
@ -528,6 +538,15 @@ public:
return SkPdfArray();
}
/** (Optional) An array of three numbers [ XB YB ZB ] specifying the tristimulus
* value, in the CIE 1931 XYZ space, of the diffuse black point; see "CalRGB
* Color Spaces," below, for further discussion. All three of these numbers must
* be nonnegative. Default value: [0.0 0.0 0.0].
**/
bool has_BlackPoint() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BlackPoint", "", NULL));
}
SkPdfArray BlackPoint() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BlackPoint", "", &ret)) return ret;
@ -535,6 +554,14 @@ public:
return SkPdfArray();
}
/** (Optional) A number G defining the gamma for the gray (A) component. G
* must be positive and will generally be greater than or equal to 1. Default
* value: 1.
**/
bool has_Gamma() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Gamma", "", NULL));
}
double Gamma() const {
double ret;
if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Gamma", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entries in a CalRGB color space dictionary
class SkPdfCalrgbColorSpaceDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kCalrgbColorSpaceDictionary_SkPdfObjectType;}
@ -521,6 +522,14 @@ public:
SkPdfCalrgbColorSpaceDictionary& operator=(const SkPdfCalrgbColorSpaceDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Required) An array of three numbers [ XW YW ZW ] specifying the tristimulus value,
* in the CIE 1931 XYZ space, of the diffuse white point; see below for further discus-
* sion. The numbers XW and ZW must be positive, and YW must be equal to 1.0.
**/
bool has_WhitePoint() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "WhitePoint", "", NULL));
}
SkPdfArray WhitePoint() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "WhitePoint", "", &ret)) return ret;
@ -528,6 +537,14 @@ public:
return SkPdfArray();
}
/** (Optional) An array of three numbers [ XB YB ZB ] specifying the tristimulus value, in
* the CIE 1931 XYZ space, of the diffuse black point; see below for further discussion.
* All three of these numbers must be nonnegative. Default value: [0.0 0.0 0.0].
**/
bool has_BlackPoint() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BlackPoint", "", NULL));
}
SkPdfArray BlackPoint() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BlackPoint", "", &ret)) return ret;
@ -535,6 +552,14 @@ public:
return SkPdfArray();
}
/** (Optional) An array of three numbers [ GR GG GB ] specifying the gamma for the red,
* green, and blue (A, B, and C) components of the color space. Default value:
* [1.0 1.0 1.0].
**/
bool has_Gamma() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Gamma", "", NULL));
}
SkPdfArray Gamma() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Gamma", "", &ret)) return ret;
@ -542,6 +567,15 @@ public:
return SkPdfArray();
}
/** (Optional) An array of nine numbers [ XA YA ZA XB YB ZB XC YC ZC ] specifying
* the linear interpretation of the decoded A, B, and C components of the color space
* with respect to the final XYZ representation. Default value: the identity matrix
* [1 0 0 0 1 0 0 0 1].
**/
bool has_Matrix() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Matrix", "", NULL));
}
SkPdfArray Matrix() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Matrix", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entries in the catalog dictionary
class SkPdfCatalogDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kCatalogDictionary_SkPdfObjectType;}
@ -521,6 +522,13 @@ public:
SkPdfCatalogDictionary& operator=(const SkPdfCatalogDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Required) The type of PDF object that this dictionary describes; must
* be Catalog for the catalog dictionary.
**/
bool has_Type() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", NULL));
}
std::string Type() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
@ -528,6 +536,22 @@ public:
return "";
}
/** (Optional; PDF 1.4) The version of the PDF specification to which the
* document conforms (for example, 1.4), if later than the version specified
* in the file's header (see Section 3.4.1, "File Header"). If the header speci-
* fies a later version, or if this entry is absent, the document conforms to
* the version specified in the header. This entry enables a PDF producer
* application to update the version using an incremental update; see Sec-
* tion 3.4.5, "Incremental Updates." (See implementation note 18 in Ap-
* pendix H.)
* Note: The value of this entry is a name object, not a number, and so must
* be preceded by a slash character (/) when written in the PDF file (for ex-
* ample, /1.4).
**/
bool has_Version() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Version", "", NULL));
}
std::string Version() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Version", "", &ret)) return ret;
@ -535,6 +559,13 @@ public:
return "";
}
/** (Required; must be an indirect reference) The page tree node that is the
* root of the document's page tree (see Section 3.6.2, "Page Tree").
**/
bool has_Pages() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Pages", "", NULL));
}
SkPdfDictionary* Pages() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Pages", "", &ret)) return ret;
@ -542,6 +573,17 @@ public:
return NULL;
}
/** (Optional; PDF 1.3) A number tree (see Section 3.8.5, "Number Trees")
* defining the page labeling for the document. The keys in this tree are
* page indices; the corresponding values are page label dictionaries (see
* Section 8.3.1, "Page Labels"). Each page index denotes the first page in a
* labeling range to which the specified page label dictionary applies. The
* tree must include a value for page index 0.
**/
bool has_PageLabels() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "PageLabels", "", NULL));
}
bool isPageLabelsANumber() const {
SkPdfObject* ret = NULL;
if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "PageLabels", "", &ret)) return false;
@ -568,6 +610,13 @@ public:
return NULL;
}
/** (Optional; PDF 1.2) The document's name dictionary (see Section 3.6.3,
* "Name Dictionary").
**/
bool has_Names() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Names", "", NULL));
}
SkPdfDictionary* Names() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Names", "", &ret)) return ret;
@ -575,6 +624,14 @@ public:
return NULL;
}
/** (Optional; PDF 1.1; must be an indirect reference) A dictionary of names
* and corresponding destinations (see "Named Destinations" on page
* 476).
**/
bool has_Dests() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Dests", "", NULL));
}
SkPdfDictionary* Dests() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Dests", "", &ret)) return ret;
@ -582,6 +639,15 @@ public:
return NULL;
}
/** (Optional; PDF 1.2) A viewer preferences dictionary (see Section 8.1,
* "Viewer Preferences") specifying the way the document is to be dis-
* played on the screen. If this entry is absent, viewer applications should
* use their own current user preference settings.
**/
bool has_ViewerPreferences() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ViewerPreferences", "", NULL));
}
SkPdfDictionary* ViewerPreferences() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ViewerPreferences", "", &ret)) return ret;
@ -589,6 +655,20 @@ public:
return NULL;
}
/** (Optional) A name object specifying the page layout to be used when the
* document is opened:
* SinglePage Display one page at a time.
* OneColumn Display the pages in one column.
* TwoColumnLeft Display the pages in two columns, with odd-
* numbered pages on the left.
* TwoColumnRight Display the pages in two columns, with odd-
* numbered pages on the right.
* (See implementation note 19 in Appendix H.) Default value: SinglePage.
**/
bool has_PageLayout() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "PageLayout", "", NULL));
}
std::string PageLayout() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "PageLayout", "", &ret)) return ret;
@ -596,6 +676,20 @@ public:
return "";
}
/** (Optional) A name object specifying how the document should be dis-
* played when opened:
* UseNone Neither document outline nor thumbnail im-
* ages visible
* UseOutlines Document outline visible
* UseThumbs Thumbnail images visible
* FullScreen Full-screen mode, with no menu bar, window
* controls, or any other window visible
* Default value: UseNone.
**/
bool has_PageMode() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "PageMode", "", NULL));
}
std::string PageMode() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "PageMode", "", &ret)) return ret;
@ -603,6 +697,14 @@ public:
return "";
}
/** (Optional; must be an indirect reference) The outline dictionary that is the
* root of the document's outline hierarchy (see Section 8.2.2, "Document
* Outline").
**/
bool has_Outlines() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Outlines", "", NULL));
}
SkPdfDictionary* Outlines() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Outlines", "", &ret)) return ret;
@ -610,6 +712,14 @@ public:
return NULL;
}
/** (Optional; PDF 1.1; must be an indirect reference) An array of thread
* dictionaries representing the document's article threads (see Section
* 8.3.2, "Articles").
**/
bool has_Threads() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Threads", "", NULL));
}
SkPdfArray Threads() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Threads", "", &ret)) return ret;
@ -617,6 +727,17 @@ public:
return SkPdfArray();
}
/** (Optional; PDF 1.1) A value specifying a destination to be displayed or
* an action to be performed when the document is opened. The value is
* either an array defining a destination (see Section 8.2.1, "Destinations")
* or an action dictionary representing an action (Section 8.5, "Actions"). If
* this entry is absent, the document should be opened to the top of the
* first page at the default magnification factor.
**/
bool has_OpenAction() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "OpenAction", "", NULL));
}
bool isOpenActionAArray() const {
SkPdfObject* ret = NULL;
if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "OpenAction", "", &ret)) return false;
@ -643,6 +764,15 @@ public:
return NULL;
}
/** (Optional; PDF 1.4) An additional-actions dictionary defining the actions
* to be taken in response to various trigger events affecting the document
* as a whole (see "Trigger Events" on page 514). (See also implementation
* note 20 in Appendix H.)
**/
bool has_AA() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AA", "", NULL));
}
SkPdfDictionary* AA() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AA", "", &ret)) return ret;
@ -650,6 +780,14 @@ public:
return NULL;
}
/** (Optional) A URI dictionary containing document-level information for
* URI (uniform resource identifier) actions (see "URI Actions" on page
* 523).
**/
bool has_URI() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "URI", "", NULL));
}
SkPdfDictionary* URI() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "URI", "", &ret)) return ret;
@ -657,6 +795,13 @@ public:
return NULL;
}
/** (Optional; PDF 1.2) The document's interactive form (AcroForm) dic-
* tionary (see Section 8.6.1, "Interactive Form Dictionary").
**/
bool has_AcroForm() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AcroForm", "", NULL));
}
SkPdfDictionary* AcroForm() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AcroForm", "", &ret)) return ret;
@ -664,6 +809,14 @@ public:
return NULL;
}
/** (Optional; PDF 1.4; must be an indirect reference) A metadata stream
* containing metadata for the document (see Section 9.2.2, "Metadata
* Streams").
**/
bool has_Metadata() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Metadata", "", NULL));
}
SkPdfStream Metadata() const {
SkPdfStream ret;
if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Metadata", "", &ret)) return ret;
@ -671,6 +824,13 @@ public:
return SkPdfStream();
}
/** (Optional; PDF 1.3) The document's structure tree root dictionary (see
* Section 9.6.1, "Structure Hierarchy").
**/
bool has_StructTreeRoot() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "StructTreeRoot", "", NULL));
}
SkPdfDictionary* StructTreeRoot() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "StructTreeRoot", "", &ret)) return ret;
@ -678,6 +838,14 @@ public:
return NULL;
}
/** (Optional; PDF 1.4) A mark information dictionary containing informa-
* tion about the document's usage of Tagged PDF conventions (see Sec-
* tion 9.7.1, "Mark Information Dictionary").
**/
bool has_MarkInfo() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "MarkInfo", "", NULL));
}
SkPdfDictionary* MarkInfo() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "MarkInfo", "", &ret)) return ret;
@ -685,6 +853,16 @@ public:
return NULL;
}
/** (Optional; PDF 1.4) A language identifier specifying the natural language
* for all text in the document except where overridden by language speci-
* fications for structure elements or marked content (see Section 9.8.1,
* "Natural Language Specification"). If this entry is absent, the language is
* considered unknown.
**/
bool has_Lang() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Lang", "", NULL));
}
std::string Lang() const {
std::string ret;
if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Lang", "", &ret)) return ret;
@ -692,6 +870,14 @@ public:
return "";
}
/** (Optional; PDF 1.3) A Web Capture information dictionary containing
* state information used by the Acrobat Web Capture (AcroSpider) plug-
* in extension (see Section 9.9.1, "Web Capture Information Dictionary").
**/
bool has_SpiderInfo() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SpiderInfo", "", NULL));
}
SkPdfDictionary* SpiderInfo() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SpiderInfo", "", &ret)) return ret;
@ -699,6 +885,14 @@ public:
return NULL;
}
/** (Optional; PDF 1.4) An array of output intent dictionaries describing the
* color characteristics of output devices on which the document might be
* rendered (see "Output Intents" on page 684).
**/
bool has_OutputIntents() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "OutputIntents", "", NULL));
}
SkPdfArray OutputIntents() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "OutputIntents", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Optional parameters for the CCITTFaxDecode filter
class SkPdfCcittfaxdecodeFilterDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kCcittfaxdecodeFilterDictionary_SkPdfObjectType;}
@ -521,6 +522,20 @@ public:
SkPdfCcittfaxdecodeFilterDictionary& operator=(const SkPdfCcittfaxdecodeFilterDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** ()A code identifying the encoding scheme used:
* <0 Pure two-dimensional encoding (Group 4)
* 0 Pure one-dimensional encoding (Group 3, 1-D)
* >0 Mixed one- and two-dimensional encoding (Group 3,
* 2-D), in which a line encoded one-dimensionally can be
* followed by at most K - 1 lines encoded two-dimensionally
* The filter distinguishes among negative, zero, and positive values of
* K to determine how to interpret the encoded data; however, it does
* not distinguish between different positive K values. Default value: 0.
**/
bool has_K() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "K", "", NULL));
}
long K() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "K", "", &ret)) return ret;
@ -528,6 +543,15 @@ public:
return 0;
}
/** ()A flag indicating whether end-of-line bit patterns are required to be
* present in the encoding. The CCITTFaxDecode filter always accepts
* end-of-line bit patterns, but requires them only if EndOfLine is true.
* Default value: false.
**/
bool has_EndOfLine() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "EndOfLine", "", NULL));
}
bool EndOfLine() const {
bool ret;
if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "EndOfLine", "", &ret)) return ret;
@ -535,6 +559,16 @@ public:
return false;
}
/** ()A flag indicating whether the filter expects extra 0 bits before each
* encoded line so that the line begins on a byte boundary. If true, the
* filter skips over encoded bits to begin decoding each line at a byte
* boundary. If false, the filter does not expect extra bits in the encod-
* ed representation. Default value: false.
**/
bool has_EncodedByteAlign() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "EncodedByteAlign", "", NULL));
}
bool EncodedByteAlign() const {
bool ret;
if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "EncodedByteAlign", "", &ret)) return ret;
@ -542,6 +576,15 @@ public:
return false;
}
/** ()The width of the image in pixels. If the value is not a multiple of 8,
* the filter adjusts the width of the unencoded image to the next mul-
* tiple of 8, so that each line starts on a byte boundary. Default value:
* 1728.
**/
bool has_Columns() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Columns", "", NULL));
}
long Columns() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Columns", "", &ret)) return ret;
@ -549,6 +592,15 @@ public:
return 0;
}
/** ()The height of the image in scan lines. If the value is 0 or absent, the
* image's height is not predetermined, and the encoded data must be
* terminated by an end-of-block bit pattern or by the end of the fil-
* ter's data. Default value: 0.
**/
bool has_Rows() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Rows", "", NULL));
}
long Rows() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Rows", "", &ret)) return ret;
@ -556,6 +608,18 @@ public:
return 0;
}
/** ()A flag indicating whether the filter expects the encoded data to be
* terminated by an end-of-block pattern, overriding the Rows pa-
* rameter. If false, the filter stops when it has decoded the number of
* lines indicated by Rows or when its data has been exhausted, which-
* ever occurs first. The end-of-block pattern is the CCITT end-of-
* facsimile-block (EOFB) or return-to-control (RTC) appropriate for
* the K parameter. Default value: true.
**/
bool has_EndOfBlock() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "EndOfBlock", "", NULL));
}
bool EndOfBlock() const {
bool ret;
if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "EndOfBlock", "", &ret)) return ret;
@ -563,6 +627,14 @@ public:
return false;
}
/** ()A flag indicating whether 1 bits are to be interpreted as black pixels
* and 0 bits as white pixels, the reverse of the normal PDF convention
* for image data. Default value: false.
**/
bool has_BlackIs1() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BlackIs1", "", NULL));
}
bool BlackIs1() const {
bool ret;
if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BlackIs1", "", &ret)) return ret;
@ -570,6 +642,18 @@ public:
return false;
}
/** ()The number of damaged rows of data to be tolerated before an
* error occurs. This entry applies only if EndOfLine is true and K is
* nonnegative. Tolerating a damaged row means locating its end in
* the encoded data by searching for an EndOfLine pattern and then
* substituting decoded data from the previous row if the previous
* row was not damaged, or a white scan line if the previous row was
* also damaged. Default value: 0.
**/
bool has_DamagedRowsBeforeError() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DamagedRowsBeforeError", "", NULL));
}
long DamagedRowsBeforeError() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DamagedRowsBeforeError", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Additional entry specific to a checkbox field
class SkPdfCheckboxFieldDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kCheckboxFieldDictionary_SkPdfObjectType;}
@ -521,6 +522,13 @@ public:
SkPdfCheckboxFieldDictionary& operator=(const SkPdfCheckboxFieldDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Optional; inheritable; PDF 1.4) A text string to be used in place of the V entry for the
* value of the field.
**/
bool has_Opt() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Opt", "", NULL));
}
std::string Opt() const {
std::string ret;
if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Opt", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Additional entries specific to a choice field
class SkPdfChoiceFieldDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kChoiceFieldDictionary_SkPdfObjectType;}
@ -521,6 +522,16 @@ public:
SkPdfChoiceFieldDictionary& operator=(const SkPdfChoiceFieldDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Required; inheritable) An array of options to be presented to the user. Each element of
* the array is either a text string representing one of the available options or a two-element
* array consisting of a text string together with a default appearance string for construct-
* ing the item's appearance dynamically at viewing time (see "Variable Text" on page 533;
* see also implementation note 85 in Appendix H).
**/
bool has_Opt() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Opt", "", NULL));
}
SkPdfArray Opt() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Opt", "", &ret)) return ret;
@ -528,6 +539,13 @@ public:
return SkPdfArray();
}
/** (Optional; inheritable) For scrollable list boxes, the top index (the index in the Opt array
* of the first option visible in the list).
**/
bool has_TI() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TI", "", NULL));
}
long TI() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TI", "", &ret)) return ret;
@ -535,6 +553,18 @@ public:
return 0;
}
/** (Sometimes required, otherwise optional; inheritable; PDF 1.4) For choice fields that allow
* multiple selection (MultiSelect flag set), an array of integers, sorted in ascending order,
* representing the zero-based indices in the Opt array of the currently selected option
* items. This entry is required when two or more elements in the Opt array have different
* names but the same export value, or when the value of the choice field is an array; in
* other cases, it is permitted but not required. If the items identified by this entry differ
* from those in the V entry of the field dictionary (see below), the V entry takes precedence.
**/
bool has_I() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "I", "", NULL));
}
SkPdfArray I() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "I", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Additional entry for components having metadata
class SkPdfComponentsWithMetadataDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kComponentsWithMetadataDictionary_SkPdfObjectType;}
@ -521,6 +522,12 @@ public:
SkPdfComponentsWithMetadataDictionary& operator=(const SkPdfComponentsWithMetadataDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Optional; PDF 1.4) A metadata stream containing metadata for the component.
**/
bool has_Metadata() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Metadata", "", NULL));
}
SkPdfStream Metadata() const {
SkPdfStream ret;
if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Metadata", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Optional parameter for the DCTDecode filter
class SkPdfDctdecodeFilterDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kDctdecodeFilterDictionary_SkPdfObjectType;}
@ -521,6 +522,29 @@ public:
SkPdfDctdecodeFilterDictionary& operator=(const SkPdfDctdecodeFilterDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** ()A code specifying the transformation to be performed on the sample values:
* 0 No transformation.
* 1 If the image has three color components, transform RGB values to
* YUV before encoding and from YUV to RGB after decoding. If the
* image has four components, transform CMYK values to YUVK be-
* fore encoding and from YUVK to CMYK after decoding. This option
* is ignored if the image has one or two color components.
* Note: The RGB and YUV used here have nothing to do with the color spaces de-
* fined as part of the Adobe imaging model. The purpose of converting from RGB
* to YUV is to separate luminance and chrominance information (see below).
* The default value of ColorTransform is 1 if the image has three components
* and 0 otherwise. In other words, conversion between RGB and YUV is per-
* formed for all three-component images unless explicitly disabled by setting
* ColorTransform to 0. Additionally, the encoding algorithm inserts an Adobe-
* defined marker code in the encoded data indicating the ColorTransform value
* used. If present, this marker code overrides the ColorTransform value given to
* DCTDecode. Thus it is necessary to specify ColorTransform only when decod-
* ing data that does not contain the Adobe-defined marker code.
**/
bool has_ColorTransform() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ColorTransform", "", NULL));
}
long ColorTransform() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ColorTransform", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entry in a DeviceN color space attributes dictionary
class SkPdfDeviceNColorSpaceDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kDeviceNColorSpaceDictionary_SkPdfObjectType;}
@ -521,6 +522,23 @@ public:
SkPdfDeviceNColorSpaceDictionary& operator=(const SkPdfDeviceNColorSpaceDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Optional) A dictionary describing the individual colorants used in the DeviceN
* color space. For each entry in this dictionary, the key is a colorant name and the
* value is an array defining a Separation color space for that colorant (see "Separa-
* tion Color Spaces" on page 201). The key must match the colorant name given in
* that color space. The dictionary need not list all colorants used in the DeviceN
* color space and may list additional colorants.
* This dictionary has no effect on the operation of the DeviceN color space itself or
* the appearance that it produces. However, it provides information about the indi-
* vidual colorants that may be useful to some applications. In particular, the alter-
* nate color space and tint transformation function of a Separation color space
* describe the appearance of that colorant alone, whereas those of a DeviceN color
* space describe only the appearance of its colorants in combination.
**/
bool has_Colorants() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Colorants", "", NULL));
}
SkPdfDictionary* Colorants() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Colorants", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entries in the document catalog's additional-actions dictionary
class SkPdfDocumentCatalogActionsDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kDocumentCatalogActionsDictionary_SkPdfObjectType;}
@ -521,6 +522,13 @@ public:
SkPdfDocumentCatalogActionsDictionary& operator=(const SkPdfDocumentCatalogActionsDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Optional; PDF 1.4) A JavaScript action to be performed before closing a document.
* (The name DC stands for "document close.")
**/
bool has_DC() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DC", "", NULL));
}
SkPdfDictionary* DC() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DC", "", &ret)) return ret;
@ -528,6 +536,13 @@ public:
return NULL;
}
/** (Optional; PDF 1.4) A JavaScript action to be performed before saving a document.
* (The name WS stands for "will save.")
**/
bool has_WS() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "WS", "", NULL));
}
SkPdfDictionary* WS() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "WS", "", &ret)) return ret;
@ -535,6 +550,13 @@ public:
return NULL;
}
/** (Optional; PDF 1.4) A JavaScript action to be performed after saving a document. (The
* name DS stands for "did save.")
**/
bool has_DS() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DS", "", NULL));
}
SkPdfDictionary* DS() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DS", "", &ret)) return ret;
@ -542,6 +564,13 @@ public:
return NULL;
}
/** (Optional; PDF 1.4) A JavaScript action to be performed before printing a document.
* (The name WP stands for "will print.")
**/
bool has_WP() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "WP", "", NULL));
}
SkPdfDictionary* WP() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "WP", "", &ret)) return ret;
@ -549,6 +578,13 @@ public:
return NULL;
}
/** (Optional; PDF 1.4) A JavaScript action to be performed after printing a document.
* (The name DP stands for "did print.")
**/
bool has_DP() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DP", "", NULL));
}
SkPdfDictionary* DP() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DP", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entries in the document information dictionary
class SkPdfDocumentInformationDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kDocumentInformationDictionary_SkPdfObjectType;}
@ -521,6 +522,12 @@ public:
SkPdfDocumentInformationDictionary& operator=(const SkPdfDocumentInformationDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Optional; PDF 1.1) The document's title.
**/
bool has_Title() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Title", "", NULL));
}
std::string Title() const {
std::string ret;
if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Title", "", &ret)) return ret;
@ -528,6 +535,12 @@ public:
return "";
}
/** (Optional) The name of the person who created the document.
**/
bool has_Author() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Author", "", NULL));
}
std::string Author() const {
std::string ret;
if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Author", "", &ret)) return ret;
@ -535,6 +548,12 @@ public:
return "";
}
/** (Optional; PDF 1.1) The subject of the document.
**/
bool has_Subject() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subject", "", NULL));
}
std::string Subject() const {
std::string ret;
if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subject", "", &ret)) return ret;
@ -542,6 +561,12 @@ public:
return "";
}
/** (Optional; PDF 1.1) Keywords associated with the document.
**/
bool has_Keywords() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Keywords", "", NULL));
}
std::string Keywords() const {
std::string ret;
if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Keywords", "", &ret)) return ret;
@ -549,6 +574,14 @@ public:
return "";
}
/** (Optional) If the document was converted to PDF from another format, the
* name of the application (for example, Adobe FrameMaker(R)) that created the
* original document from which it was converted.
**/
bool has_Creator() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Creator", "", NULL));
}
std::string Creator() const {
std::string ret;
if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Creator", "", &ret)) return ret;
@ -556,6 +589,14 @@ public:
return "";
}
/** (Optional) If the document was converted to PDF from another format, the
* name of the application (for example, Acrobat Distiller) that converted it to
* PDF.
**/
bool has_Producer() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Producer", "", NULL));
}
std::string Producer() const {
std::string ret;
if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Producer", "", &ret)) return ret;
@ -563,6 +604,13 @@ public:
return "";
}
/** (Optional) The date and time the document was created, in human-readable
* form (see Section 3.8.2, "Dates").
**/
bool has_CreationDate() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CreationDate", "", NULL));
}
SkPdfDate CreationDate() const {
SkPdfDate ret;
if (DateFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CreationDate", "", &ret)) return ret;
@ -570,6 +618,13 @@ public:
return SkPdfDate();
}
/** (Optional; PDF 1.1) The date and time the document was most recently
* modified, in human-readable form (see Section 3.8.2, "Dates").
**/
bool has_ModDate() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ModDate", "", NULL));
}
SkPdfDate ModDate() const {
SkPdfDate ret;
if (DateFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ModDate", "", &ret)) return ret;
@ -577,6 +632,27 @@ public:
return SkPdfDate();
}
/** (Optional; PDF 1.3) A name object indicating whether the document has
* been modified to include trapping information (see Section 9.10.5, "Trap-
* ping Support"):
* True The document has been fully trapped; no further trapping is
* needed. (Note that this is the name True, not the boolean
* value true.)
* False The document has not yet been trapped; any desired trap-
* ping must still be done. (Note that this is the name False, not
* the boolean value false.)
* Unknown Either it is unknown whether the document has been
* trapped or it has been partly but not yet fully trapped; some
* additional trapping may still be needed.
* Default value: Unknown.
* The value of this entry may be set automatically by the software creating the
* document's trapping information or may be known only to a human opera-
* tor and entered manually.
**/
bool has_Trapped() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Trapped", "", NULL));
}
std::string Trapped() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Trapped", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entries in an embedded file parameter dictionary
class SkPdfEmbeddedFileParameterDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kEmbeddedFileParameterDictionary_SkPdfObjectType;}
@ -521,6 +522,12 @@ public:
SkPdfEmbeddedFileParameterDictionary& operator=(const SkPdfEmbeddedFileParameterDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Optional) The size of the embedded file, in bytes.
**/
bool has_Size() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Size", "", NULL));
}
long Size() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Size", "", &ret)) return ret;
@ -528,6 +535,12 @@ public:
return 0;
}
/** (Optional) The date and time when the embedded file was created.
**/
bool has_CreationDate() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CreationDate", "", NULL));
}
SkPdfDate CreationDate() const {
SkPdfDate ret;
if (DateFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CreationDate", "", &ret)) return ret;
@ -535,6 +548,12 @@ public:
return SkPdfDate();
}
/** (Optional) The date and time when the embedded file was last modified.
**/
bool has_ModDate() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ModDate", "", NULL));
}
SkPdfDate ModDate() const {
SkPdfDate ret;
if (DateFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ModDate", "", &ret)) return ret;
@ -542,6 +561,13 @@ public:
return SkPdfDate();
}
/** (Optional) A subdictionary containing additional information specific to
* Mac OS files (see Table 3.35).
**/
bool has_Mac() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Mac", "", NULL));
}
SkPdfDictionary* Mac() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Mac", "", &ret)) return ret;
@ -549,6 +575,16 @@ public:
return NULL;
}
/** (Optional) A 16-byte string that is the checksum of the bytes of the uncom-
* pressed embedded file. The checksum is calculated by applying the standard
* MD5 message-digest algorithm (described in Internet RFC 1321, The MD5
* Message-Digest Algorithm; see the Bibliography) to the bytes of the embedded
* file stream.
**/
bool has_CheckSum() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CheckSum", "", NULL));
}
std::string CheckSum() const {
std::string ret;
if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CheckSum", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Additional entries in an embedded file stream dictionary
class SkPdfEmbeddedFileStreamDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kEmbeddedFileStreamDictionary_SkPdfObjectType;}
@ -521,6 +522,13 @@ public:
SkPdfEmbeddedFileStreamDictionary& operator=(const SkPdfEmbeddedFileStreamDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Optional) The type of PDF object that this dictionary describes; if present,
* must be EmbeddedFile for an embedded file stream.
**/
bool has_Type() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", NULL));
}
std::string Type() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
@ -528,6 +536,18 @@ public:
return "";
}
/** (Optional) The subtype of the embedded file. The value of this entry must be
* a first-class name, as defined in Appendix E. Names without a registered pre-
* fix must conform to the MIME media type names defined in Internet RFC
* 2046, Multipurpose Internet Mail Extensions (MIME), Part Two: Media Types
* (see the Bibliography), with the provision that characters not allowed in
* names must use the 2-character hexadecimal code format described in Sec-
* tion 3.2.4, "Name Objects."
**/
bool has_Subtype() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", NULL));
}
std::string Subtype() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", &ret)) return ret;
@ -535,6 +555,13 @@ public:
return "";
}
/** (Optional) An embedded file parameter dictionary containing additional, file-
* specific information (see Table 3.34).
**/
bool has_Params() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Params", "", NULL));
}
SkPdfDictionary* Params() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Params", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Additional entries in an embedded font stream dictionary
class SkPdfEmbeddedFontStreamDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kEmbeddedFontStreamDictionary_SkPdfObjectType;}
@ -521,6 +522,14 @@ public:
SkPdfEmbeddedFontStreamDictionary& operator=(const SkPdfEmbeddedFontStreamDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Required for Type 1 and TrueType fonts) The length in bytes of the clear-text portion
* of the Type 1 font program (see below), or the entire TrueType font program, after it
* has been decoded using the filters specified by the stream's Filter entry, if any.
**/
bool has_Length1() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Length1", "", NULL));
}
long Length1() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Length1", "", &ret)) return ret;
@ -528,6 +537,14 @@ public:
return 0;
}
/** (Required for Type 1 fonts) The length in bytes of the encrypted portion of the Type 1
* font program (see below) after it has been decoded using the filters specified by the
* stream's Filter entry.
**/
bool has_Length2() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Length2", "", NULL));
}
long Length2() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Length2", "", &ret)) return ret;
@ -535,6 +552,15 @@ public:
return 0;
}
/** (Required for Type 1 fonts) The length in bytes of the fixed-content portion of the
* Type 1 font program (see below), after it has been decoded using the filters specified
* by the stream's Filter entry. If Length3 is 0, it indicates that the 512 zeros and clearto-
* mark have not been included in the FontFile font program and must be added.
**/
bool has_Length3() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Length3", "", NULL));
}
long Length3() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Length3", "", &ret)) return ret;
@ -542,6 +568,15 @@ public:
return 0;
}
/** (Required if referenced from FontFile3; PDF 1.2) A name specifying the format of the
* embedded font program. The name must be Type1C for Type 1 compact fonts or CID-
* FontType0C for Type 0 compact CIDFonts. When additional font formats are added
* to PDF, more values will be defined for Subtype.
**/
bool has_Subtype() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", NULL));
}
std::string Subtype() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", &ret)) return ret;
@ -549,6 +584,13 @@ public:
return "";
}
/** (Optional; PDF 1.4) A metadata stream containing metadata for the embedded font
* program (see Section 9.2.2, "Metadata Streams").
**/
bool has_Metadata() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Metadata", "", NULL));
}
SkPdfStream Metadata() const {
SkPdfStream ret;
if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Metadata", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entries in an encoding dictionary
class SkPdfEncodingDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kEncodingDictionary_SkPdfObjectType;}
@ -521,6 +522,13 @@ public:
SkPdfEncodingDictionary& operator=(const SkPdfEncodingDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Optional) The type of PDF object that this dictionary describes; if present, must
* be Encoding for an encoding dictionary.
**/
bool has_Type() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", NULL));
}
std::string Type() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
@ -528,6 +536,21 @@ public:
return "";
}
/** (Optional) The base encoding-that is, the encoding from which the Differences
* entry (if present) describes differences-specified as the name of a predefined
* encoding MacRomanEncoding, MacExpertEncoding, or WinAnsiEncoding (see
* Appendix D).
* If this entry is absent, the Differences entry describes differences from an im-
* plicit base encoding. For a font program that is embedded in the PDF file, the
* implicit base encoding is the font program's built-in encoding, as described
* above and further elaborated in the sections on specific font types below. Other-
* wise, for a nonsymbolic font, it is StandardEncoding, and for a symbolic font, it
* is the font's built-in encoding.
**/
bool has_BaseEncoding() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BaseEncoding", "", NULL));
}
std::string BaseEncoding() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BaseEncoding", "", &ret)) return ret;
@ -535,6 +558,14 @@ public:
return "";
}
/** (Optional; not recommended with TrueType fonts) An array describing the differ-
* ences from the encoding specified by BaseEncoding or, if BaseEncoding is ab-
* sent, from an implicit base encoding. The Differences array is described above.
**/
bool has_Differences() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Differences", "", NULL));
}
SkPdfArray Differences() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Differences", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Additional entry in an embedded file stream dictionary for an encrypted FDF file
class SkPdfEncryptedEmbeddedFileStreamDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kEncryptedEmbeddedFileStreamDictionary_SkPdfObjectType;}
@ -521,6 +522,14 @@ public:
SkPdfEncryptedEmbeddedFileStreamDictionary& operator=(const SkPdfEncryptedEmbeddedFileStreamDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Required if the FDF file is encrypted; PDF 1.4) The revision number of the
* FDF encryption algorithm used to encrypt the file. The only valid value
* defined at the time of publication is 1.
**/
bool has_EncryptionRevision() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "EncryptionRevision", "", NULL));
}
long EncryptionRevision() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "EncryptionRevision", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entries common to all encryption dictionaries
class SkPdfEncryptionCommonDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kEncryptionCommonDictionary_SkPdfObjectType;}
@ -521,6 +522,14 @@ public:
SkPdfEncryptionCommonDictionary& operator=(const SkPdfEncryptionCommonDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Required) The name of the security handler for this document; see below. Default value:
* Standard, for the built-in security handler. (Names for other security handlers can be
* registered using the procedure described in Appendix E.)
**/
bool has_Filter() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Filter", "", NULL));
}
std::string Filter() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Filter", "", &ret)) return ret;
@ -528,6 +537,23 @@ public:
return "";
}
/** (Optional but strongly recommended) A code specifying the algorithm to be used in en-
* crypting and decrypting the document:
* 0 An algorithm that is undocumented and no longer supported, and whose use is
* strongly discouraged.
* 1 Algorithm 3.1 on page 73, with an encryption key length of 40 bits; see below.
* 2 (PDF 1.4) Algorithm 3.1 on page 73, but allowing encryption key lengths greater
* than 40 bits.
* 3 (PDF 1.4) An unpublished algorithm allowing encryption key lengths ranging
* from 40 to 128 bits. (This algorithm is unpublished as an export requirement of
* the U.S. Department of Commerce.)
* The default value if this entry is omitted is 0, but a value of 1 or greater is strongly rec-
* ommended. (See implementation note 15 in Appendix H.)
**/
bool has_V() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "V", "", NULL));
}
double V() const {
double ret;
if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "V", "", &ret)) return ret;
@ -535,6 +561,13 @@ public:
return 0;
}
/** (Optional; PDF 1.4; only if V is 2 or 3) The length of the encryption key, in bits. The value
* must be a multiple of 8, in the range 40 to 128. Default value: 40.
**/
bool has_Length() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Length", "", NULL));
}
long Length() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Length", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entries in the FDF catalog dictionary
class SkPdfFDFCatalogDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kFDFCatalogDictionary_SkPdfObjectType;}
@ -521,6 +522,19 @@ public:
SkPdfFDFCatalogDictionary& operator=(const SkPdfFDFCatalogDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Optional; PDF 1.4) The version of the PDF specification to which
* this FDF file conforms (for example, 1.4), if later than the version
* specified in the file's header (see "FDF Header" on page 559). If the
* header specifies a later version, or if this entry is absent, the docu-
* ment conforms to the version specified in the header.
* Note: The value of this entry is a name object, not a number, and so
* must be preceded by a slash character (/) when written in the FDF file
* (for example, /1.4).
**/
bool has_Version() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Version", "", NULL));
}
std::string Version() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Version", "", &ret)) return ret;
@ -528,6 +542,12 @@ public:
return "";
}
/** (Required) The FDF dictionary for this file (see Table 8.69).
**/
bool has_FDF() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FDF", "", NULL));
}
SkPdfDictionary* FDF() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FDF", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entries in the FDF dictionary
class SkPdfFDFDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kFDFDictionary_SkPdfObjectType;}
@ -521,6 +522,13 @@ public:
SkPdfFDFDictionary& operator=(const SkPdfFDFDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Optional) The source file or target file: the PDF document file that
* this FDF file was exported from or is intended to be imported into.
**/
bool has_F() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "F", "", NULL));
}
SkPdfFileSpec F() const {
SkPdfFileSpec ret;
if (FileSpecFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "F", "", &ret)) return ret;
@ -528,6 +536,15 @@ public:
return SkPdfFileSpec();
}
/** (Optional) An array of two strings constituting a file identifier (see
* Section 9.3, "File Identifiers") for the source or target file designated
* by F, taken from the ID entry in the file's trailer dictionary (see Sec-
* tion 3.4.4, "File Trailer").
**/
bool has_ID() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ID", "", NULL));
}
SkPdfArray ID() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ID", "", &ret)) return ret;
@ -535,6 +552,15 @@ public:
return SkPdfArray();
}
/** (Optional) An array of FDF field dictionaries (see "FDF Fields" on
* page 564) describing the root fields (those with no ancestors in
* the field hierarchy) to be exported or imported. This entry and
* the Pages entry may not both be present.
**/
bool has_Fields() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Fields", "", NULL));
}
SkPdfArray Fields() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Fields", "", &ret)) return ret;
@ -542,6 +568,16 @@ public:
return SkPdfArray();
}
/** (Optional) A status string to be displayed indicating the result of an
* action, typically a submit-form action (see "Submit-Form Actions"
* on page 550). The string is encoded with PDFDocEncoding. (See
* implementation note 91 in Appendix H.) This entry and the Pages
* entry may not both be present.
**/
bool has_Status() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Status", "", NULL));
}
std::string Status() const {
std::string ret;
if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Status", "", &ret)) return ret;
@ -549,6 +585,15 @@ public:
return "";
}
/** (Optional; PDF 1.3) An array of FDF page dictionaries (see "FDF
* Pages" on page 566) describing new pages to be added to a PDF
* target document. The Fields and Status entries may not be present
* together with this entry.
**/
bool has_Pages() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Pages", "", NULL));
}
SkPdfArray Pages() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Pages", "", &ret)) return ret;
@ -556,6 +601,16 @@ public:
return SkPdfArray();
}
/** (Optional; PDF 1.3) The encoding to be used for any FDF field
* value or option (V or Opt in the field dictionary; see Table 8.72 on
* page 564) that is a string and does not begin with the Unicode pre-
* fix U+FEFF. (See implementation note 92 in Appendix H.) Default
* value: PDFDocEncoding.
**/
bool has_Encoding() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Encoding", "", NULL));
}
std::string Encoding() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Encoding", "", &ret)) return ret;
@ -563,6 +618,15 @@ public:
return "";
}
/** (Optional; PDF 1.3) An array of FDF annotation dictionaries (see
* "FDF Annotation Dictionaries" on page 568). The array can in-
* clude annotations of any of the standard types listed in Table 8.14
* on page 499 except Link, Movie, Widget, PrinterMark, and TrapNet.
**/
bool has_Annots() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Annots", "", NULL));
}
SkPdfArray Annots() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Annots", "", &ret)) return ret;
@ -570,6 +634,29 @@ public:
return SkPdfArray();
}
/** (Optional; PDF 1.4) A stream containing all the bytes in all incre-
* mental updates made to the underlying PDF document since it was
* opened (see Section 3.4.5, "Incremental Updates"). If a submit-
* form action submitting the document to a remote server in FDF
* format has its IncludeAppendSaves flag set (see "Submit-Form
* Actions" on page 550), the contents of this stream are included in
* the submission. This allows any digital signatures (see "Signature
* Fields" on page 547) to be transmitted to the server. An incremental
* update is automatically performed just before the submission takes
* place, in order to capture all changes made to the document. Note
* that the submission always includes the full set of incremental up-
* dates back to the time the document was first opened, even if some
* of them may already have been included in intervening submissions.
* Note: Although a Fields or Annots entry (or both) may be present
* along with Differences, there is no guarantee that their contents will be
* consistent with it. In particular, if Differences contains a digital signa-
* ture, only the values of the form fields given in the Differences stream
* can be considered trustworthy under that signature.
**/
bool has_Differences() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Differences", "", NULL));
}
SkPdfStream Differences() const {
SkPdfStream ret;
if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Differences", "", &ret)) return ret;
@ -577,6 +664,14 @@ public:
return SkPdfStream();
}
/** (Optional; PDF 1.4) The name of a browser frame in which the un-
* derlying PDF document is to be opened. This mimics the behavior
* of the target attribute in HTML <href> tags.
**/
bool has_Target() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Target", "", NULL));
}
std::string Target() const {
std::string ret;
if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Target", "", &ret)) return ret;
@ -584,6 +679,14 @@ public:
return "";
}
/** (Optional; PDF 1.4) An array of file specifications (see Section 3.10,
* "File Specifications") representing other FDF files embedded with-
* in this one (Section 3.10.3, "Embedded File Streams").
**/
bool has_EmbeddedFDFs() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "EmbeddedFDFs", "", NULL));
}
SkPdfArray EmbeddedFDFs() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "EmbeddedFDFs", "", &ret)) return ret;
@ -591,6 +694,13 @@ public:
return SkPdfArray();
}
/** (Optional; PDF 1.4) A JavaScript dictionary (see Table 8.71) defin-
* ing document-level JavaScript scripts.
**/
bool has_JavaScript() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "JavaScript", "", NULL));
}
SkPdfDictionary* JavaScript() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "JavaScript", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entries in an FDF field dictionary
class SkPdfFDFFieldDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kFDFFieldDictionary_SkPdfObjectType;}
@ -521,6 +522,14 @@ public:
SkPdfFDFFieldDictionary& operator=(const SkPdfFDFFieldDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Optional) An array containing the immediate children of this field.
* Note: Unlike the children of fields in a PDF file, which must be specified as indirect
* object references, those of an FDF field may be either direct or indirect objects.
**/
bool has_Kids() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Kids", "", NULL));
}
SkPdfArray Kids() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Kids", "", &ret)) return ret;
@ -528,6 +537,12 @@ public:
return SkPdfArray();
}
/** (Required) The partial field name (see "Field Names" on page 532).
**/
bool has_T() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "T", "", NULL));
}
std::string T() const {
std::string ret;
if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "T", "", &ret)) return ret;
@ -535,6 +550,13 @@ public:
return "";
}
/** (Optional) The field's value, whose format varies depending on the field type; see
* the descriptions of individual field types in Section 8.6.3 for further information.
**/
bool has_V() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "V", "", NULL));
}
SkPdfObject* V() const {
SkPdfObject* ret;
if (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "V", "", &ret)) return ret;
@ -542,6 +564,16 @@ public:
return NULL;
}
/** (Optional) A set of flags specifying various characteristics of the field (see Tables
* 8.50 on page 532, 8.53 on page 538, 8.56 on page 543, and 8.58 on page 546). When
* imported into an interactive form, the value of this entry replaces that of the Ff
* entry in the form's corresponding field dictionary. If this field is present, the SetFf
* and ClrFf entries, if any, are ignored.
**/
bool has_Ff() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Ff", "", NULL));
}
long Ff() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Ff", "", &ret)) return ret;
@ -549,6 +581,15 @@ public:
return 0;
}
/** (Optional) A set of flags to be set (turned on) in the Ff entry of the form's cor-
* responding field dictionary. Bits equal to 1 in SetFf cause the corresponding bits in
* Ff to be set to 1. This entry is ignored if an Ff entry is present in the FDF field
* dictionary.
**/
bool has_SetFf() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SetFf", "", NULL));
}
long SetFf() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SetFf", "", &ret)) return ret;
@ -556,6 +597,16 @@ public:
return 0;
}
/** (Optional) A set of flags to be cleared (turned off) in the Ff entry of the form's cor-
* responding field dictionary. Bits equal to 1 in ClrFf cause the corresponding bits in
* Ff to be set to 0. If a SetFf entry is also present in the FDF field dictionary, it is
* applied before this entry. This entry is ignored if an Ff entry is present in the FDF
* field dictionary.
**/
bool has_ClrFf() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ClrFf", "", NULL));
}
long ClrFf() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ClrFf", "", &ret)) return ret;
@ -563,6 +614,16 @@ public:
return 0;
}
/** (Optional) A set of flags specifying various characteristics of the field's widget anno-
* tation (see Section 8.4.2, "Annotation Flags"). When imported into an interactive
* form, the value of this entry replaces that of the F entry in the form's corresponding
* annotation dictionary. If this field is present, the SetF and ClrF entries, if any, are
* ignored.
**/
bool has_F() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "F", "", NULL));
}
long F() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "F", "", &ret)) return ret;
@ -570,6 +631,15 @@ public:
return 0;
}
/** (Optional) A set of flags to be set (turned on) in the F entry of the form's corre-
* sponding widget annotation dictionary. Bits equal to 1 in SetF cause the corre-
* sponding bits in F to be set to 1. This entry is ignored if an F entry is present in the
* FDF field dictionary.
**/
bool has_SetF() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SetF", "", NULL));
}
long SetF() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SetF", "", &ret)) return ret;
@ -577,6 +647,16 @@ public:
return 0;
}
/** (Optional) A set of flags to be cleared (turned off) in the F entry of the form's corre-
* sponding widget annotation dictionary. Bits equal to 1 in ClrF cause the corre-
* sponding bits in F to be set to 0. If a SetF entry is also present in the FDF field
* dictionary, it is applied before this entry. This entry is ignored if an F entry is
* present in the FDF field dictionary.
**/
bool has_ClrF() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ClrF", "", NULL));
}
long ClrF() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ClrF", "", &ret)) return ret;
@ -584,6 +664,15 @@ public:
return 0;
}
/** (Optional) An appearance dictionary specifying the appearance of a pushbutton
* field (see "Pushbuttons" on page 539). The appearance dictionary's contents are as
* shown in Table 8.13 on page 497, except that the values of the N, R, and D entries
* must all be streams.
**/
bool has_AP() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AP", "", NULL));
}
SkPdfDictionary* AP() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AP", "", &ret)) return ret;
@ -591,6 +680,16 @@ public:
return NULL;
}
/** (Optional; PDF 1.3) A dictionary holding references to external PDF files contain-
* ing the pages to use for the appearances of a pushbutton field. This dictionary is
* similar to an appearance dictionary (see Table 8.13 on page 497), except that the
* values of the N, R, and D entries must all be named page reference dictionaries
* (Table 8.76 on page 568). This entry is ignored if an AP entry is present.
**/
bool has_APRef() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "APRef", "", NULL));
}
SkPdfDictionary* APRef() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "APRef", "", &ret)) return ret;
@ -598,6 +697,14 @@ public:
return NULL;
}
/** (Optional; PDF 1.3; button fields only) An icon fit dictionary (see Table 8.73) speci-
* fying how to display a button field's icon within the annotation rectangle of its wid-
* get annotation.
**/
bool has_IF() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "IF", "", NULL));
}
SkPdfDictionary* IF() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "IF", "", &ret)) return ret;
@ -605,6 +712,17 @@ public:
return NULL;
}
/** (Required; choice fields only) An array of options to be presented to the user. Each
* element of the array can take either of two forms:
* * A text string representing one of the available options
* * A two-element array consisting of a text string representing one of the available
* options and a default appearance string for constructing the item's appearance
* dynamically at viewing time (see "Variable Text" on page 533)
**/
bool has_Opt() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Opt", "", NULL));
}
SkPdfArray Opt() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Opt", "", &ret)) return ret;
@ -612,6 +730,13 @@ public:
return SkPdfArray();
}
/** (Optional) An action to be performed when this field's widget annotation is activat-
* ed (see Section 8.5, "Actions").
**/
bool has_A() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "A", "", NULL));
}
SkPdfDictionary* A() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "A", "", &ret)) return ret;
@ -619,6 +744,13 @@ public:
return NULL;
}
/** (Optional) An additional-actions dictionary defining the field's behavior in re-
* sponse to various trigger events (see Section 8.5.2, "Trigger Events").
**/
bool has_AA() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AA", "", NULL));
}
SkPdfDictionary* AA() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AA", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Additional entry for annotation dictionaries in an FDF file
class SkPdfFDFFileAnnotationDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kFDFFileAnnotationDictionary_SkPdfObjectType;}
@ -521,6 +522,13 @@ public:
SkPdfFDFFileAnnotationDictionary& operator=(const SkPdfFDFFileAnnotationDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Required for annotations in FDF files) The ordinal page number on which
* this annotation should appear, where page 0 is the first page.
**/
bool has_Page() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Page", "", NULL));
}
long Page() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Page", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entries in an FDF named page reference dictionary
class SkPdfFDFNamedPageReferenceDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kFDFNamedPageReferenceDictionary_SkPdfObjectType;}
@ -521,6 +522,12 @@ public:
SkPdfFDFNamedPageReferenceDictionary& operator=(const SkPdfFDFNamedPageReferenceDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Required) The name of the referenced page.
**/
bool has_Name() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Name", "", NULL));
}
std::string Name() const {
std::string ret;
if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Name", "", &ret)) return ret;
@ -528,6 +535,13 @@ public:
return "";
}
/** (Optional) The file containing the named page. If this key is absent, it is
* assumed that the page resides in the associated PDF file.
**/
bool has_F() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "F", "", NULL));
}
SkPdfFileSpec F() const {
SkPdfFileSpec ret;
if (FileSpecFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "F", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entries in an FDF page dictionary
class SkPdfFDFPageDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kFDFPageDictionary_SkPdfObjectType;}
@ -521,6 +522,13 @@ public:
SkPdfFDFPageDictionary& operator=(const SkPdfFDFPageDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Required) An array of FDF template dictionaries (see Table 8.75) describing the
* named pages that serve as templates on the page.
**/
bool has_Templates() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Templates", "", NULL));
}
SkPdfArray Templates() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Templates", "", &ret)) return ret;
@ -528,6 +536,14 @@ public:
return SkPdfArray();
}
/** (Optional) An FDF page information dictionary containing additional informa-
* tion about the page. At the time of publication, no entries have been defined for
* this dictionary.
**/
bool has_Info() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Info", "", NULL));
}
SkPdfDictionary* Info() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Info", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entries in an FDF template dictionary
class SkPdfFDFTemplateDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kFDFTemplateDictionary_SkPdfObjectType;}
@ -521,6 +522,13 @@ public:
SkPdfFDFTemplateDictionary& operator=(const SkPdfFDFTemplateDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Required) A named page reference dictionary (see Table 8.76) specifying the
* location of the template.
**/
bool has_TRef() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TRef", "", NULL));
}
SkPdfDictionary* TRef() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TRef", "", &ret)) return ret;
@ -528,6 +536,14 @@ public:
return NULL;
}
/** (Optional) An array of references to FDF field dictionaries (see Table 8.72 on
* page 564) describing the root fields to be imported (those with no ancestors in
* the field hierarchy).
**/
bool has_Fields() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Fields", "", NULL));
}
SkPdfArray Fields() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Fields", "", &ret)) return ret;
@ -535,6 +551,14 @@ public:
return SkPdfArray();
}
/** (Optional) A flag specifying whether fields imported from the template may be
* renamed in the event of name conflicts with existing fields; see below for further
* discussion. Default value: true.
**/
bool has_Rename() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Rename", "", NULL));
}
bool Rename() const {
bool ret;
if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Rename", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entry in the FDF trailer dictionary
class SkPdfFDFTrailerDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kFDFTrailerDictionary_SkPdfObjectType;}
@ -521,6 +522,13 @@ public:
SkPdfFDFTrailerDictionary& operator=(const SkPdfFDFTrailerDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Required; must be an indirect reference) The catalog object for this FDF file (see
* "FDF Catalog," below).
**/
bool has_Root() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Root", "", NULL));
}
SkPdfDictionary* Root() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Root", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entries common to all field dictionaries
class SkPdfFieldDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kFieldDictionary_SkPdfObjectType;}
@ -521,6 +522,22 @@ public:
SkPdfFieldDictionary& operator=(const SkPdfFieldDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Required for terminal fields; inheritable) The type of field that this dictionary
* describes:
* Btn Button (see "Button Fields" on page 538)
* Tx Text (see "Text Fields" on page 543)
* Ch Choice (see "Choice Fields" on page 545)
* Sig (PDF 1.3) Signature (see "Signature Fields" on page 547)
* Note: This entry may be present in a nonterminal field (one whose descendants
* are themselves fields) in order to provide an inheritable FT value. However, a
* nonterminal field does not logically have a type of its own; it is merely a contain-
* er for inheritable attributes that are intended for descendant terminal fields of
* any type.
**/
bool has_FT() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FT", "", NULL));
}
std::string FT() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FT", "", &ret)) return ret;
@ -528,6 +545,15 @@ public:
return "";
}
/** (Required if this field is the child of another in the field hierarchy; absent other-
* wise) The field that is the immediate parent of this one (the field, if any,
* whose Kids array includes this field). A field can have at most one parent; that
* is, it can be included in the Kids array of at most one other field.
**/
bool has_Parent() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Parent", "", NULL));
}
SkPdfDictionary* Parent() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Parent", "", &ret)) return ret;
@ -535,6 +561,13 @@ public:
return NULL;
}
/** (Optional) An array of indirect references to the immediate children of this
* field.
**/
bool has_Kids() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Kids", "", NULL));
}
SkPdfArray Kids() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Kids", "", &ret)) return ret;
@ -542,6 +575,13 @@ public:
return SkPdfArray();
}
/** (Optional) The partial field name (see "Field Names," below; see also imple-
* mentation notes 82 and 83 in Appendix H).
**/
bool has_T() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "T", "", NULL));
}
std::string T() const {
std::string ret;
if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "T", "", &ret)) return ret;
@ -549,6 +589,17 @@ public:
return "";
}
/** (Optional; PDF 1.3) An alternate field name, to be used in place of the actual
* field name wherever the field must be identified in the user interface (such as
* in error or status messages referring to the field). This text is also useful
* when extracting the document's contents in support of accessibility to dis-
* abled users or for other purposes (see Section 9.8.2, "Alternate Descrip-
* tions").
**/
bool has_TU() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TU", "", NULL));
}
std::string TU() const {
std::string ret;
if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TU", "", &ret)) return ret;
@ -556,6 +607,13 @@ public:
return "";
}
/** (Optional; PDF 1.3) The mapping name to be used when exporting inter-
* active form field data from the document.
**/
bool has_TM() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TM", "", NULL));
}
std::string TM() const {
std::string ret;
if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TM", "", &ret)) return ret;
@ -563,6 +621,13 @@ public:
return "";
}
/** (Optional; inheritable) A set of flags specifying various characteristics of the
* field (see Table 8.50). Default value: 0.
**/
bool has_Ff() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Ff", "", NULL));
}
long Ff() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Ff", "", &ret)) return ret;
@ -570,6 +635,14 @@ public:
return 0;
}
/** (Optional; inheritable) The field's value, whose format varies depending on
* the field type; see the descriptions of individual field types for further infor-
* mation.
**/
bool has_V() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "V", "", NULL));
}
SkPdfObject* V() const {
SkPdfObject* ret;
if (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "V", "", &ret)) return ret;
@ -577,6 +650,14 @@ public:
return NULL;
}
/** (Optional; inheritable) The default value to which the field reverts when a
* reset-form action is executed (see "Reset-Form Actions" on page 554). The
* format of this value is the same as that of V.
**/
bool has_DV() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DV", "", NULL));
}
SkPdfObject* DV() const {
SkPdfObject* ret;
if (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DV", "", &ret)) return ret;
@ -584,6 +665,15 @@ public:
return NULL;
}
/** (Optional; PDF 1.2) An additional-actions dictionary defining the field's
* behavior in response to various trigger events (see Section 8.5.2, "Trigger
* Events"). This entry has exactly the same meaning as the AA entry in an
* annotation dictionary (see Section 8.4.1, "Annotation Dictionaries").
**/
bool has_AA() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AA", "", NULL));
}
SkPdfDictionary* AA() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AA", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Additional entries specific to a file attachment annotation
class SkPdfFileAttachmentAnnotationDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kFileAttachmentAnnotationDictionary_SkPdfObjectType;}
@ -521,6 +522,13 @@ public:
SkPdfFileAttachmentAnnotationDictionary& operator=(const SkPdfFileAttachmentAnnotationDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Required) The type of annotation that this dictionary describes; must be
* FileAttachment for a file attachment annotation.
**/
bool has_Subtype() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", NULL));
}
std::string Subtype() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", &ret)) return ret;
@ -528,6 +536,12 @@ public:
return "";
}
/** (Required) The file associated with this annotation.
**/
bool has_FS() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FS", "", NULL));
}
SkPdfFileSpec FS() const {
SkPdfFileSpec ret;
if (FileSpecFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FS", "", &ret)) return ret;
@ -535,6 +549,14 @@ public:
return SkPdfFileSpec();
}
/** (Required) The text to be displayed in the pop-up window when the annota-
* tion is opened. Carriage returns may be used to separate the text into para-
* graphs.
**/
bool has_Contents() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Contents", "", NULL));
}
std::string Contents() const {
std::string ret;
if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Contents", "", &ret)) return ret;
@ -542,6 +564,20 @@ public:
return "";
}
/** (Optional) The name of an icon to be used in displaying the annotation.
* Viewer applications should provide predefined icon appearances for at least
* the following standard names:
* Graph PushPin
* Paperclip Tag
* Additional names may be supported as well. Default value: PushPin.
* Note: The annotation dictionary's AP entry, if present, takes precedence over
* the Name entry; see Table 8.10 on page 490 and Section 8.4.4, "Appearance
* Streams."
**/
bool has_Name() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Name", "", NULL));
}
std::string Name() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Name", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entries in a file specification dictionary
class SkPdfFileSpecificationDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kFileSpecificationDictionary_SkPdfObjectType;}
@ -521,6 +522,13 @@ public:
SkPdfFileSpecificationDictionary& operator=(const SkPdfFileSpecificationDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Required if an EF or RF entry is present; recommended always) The type of PDF object
* that this dictionary describes; must be Filespec for a file specification dictionary.
**/
bool has_Type() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", NULL));
}
std::string Type() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
@ -528,6 +536,17 @@ public:
return "";
}
/** (Optional) The name of the file system to be used to interpret this file specification. If
* this entry is present, all other entries in the dictionary are interpreted by the desig-
* nated file system. PDF defines only one standard file system, URL (see Section 3.10.4,
* "URL Specifications"); a viewer application or plug-in extension can register a differ-
* ent one (see Appendix E). Note that this entry is independent of the F, DOS, Mac, and
* Unix entries.
**/
bool has_FS() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FS", "", NULL));
}
std::string FS() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FS", "", &ret)) return ret;
@ -535,6 +554,15 @@ public:
return "";
}
/** (Required if the DOS, Mac, and Unix entries are all absent) A file specification string of
* the form described in Section 3.10.1, "File Specification Strings," or (if the file system
* is URL) a uniform resource locator, as described in Section 3.10.4, "URL Specifica-
* tions."
**/
bool has_F() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "F", "", NULL));
}
std::string F() const {
std::string ret;
if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "F", "", &ret)) return ret;
@ -542,6 +570,13 @@ public:
return "";
}
/** (Optional) A file specification string (see Section 3.10.1, "File Specification Strings")
* representing a DOS file name.
**/
bool has_DOS() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DOS", "", NULL));
}
std::string DOS() const {
std::string ret;
if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DOS", "", &ret)) return ret;
@ -549,6 +584,13 @@ public:
return "";
}
/** (Optional) A file specification string (see Section 3.10.1, "File Specification Strings")
* representing a Mac OS file name.
**/
bool has_Mac() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Mac", "", NULL));
}
std::string Mac() const {
std::string ret;
if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Mac", "", &ret)) return ret;
@ -556,6 +598,13 @@ public:
return "";
}
/** (Optional) A file specification string (see Section 3.10.1, "File Specification Strings")
* representing a UNIX file name.
**/
bool has_Unix() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Unix", "", NULL));
}
std::string Unix() const {
std::string ret;
if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Unix", "", &ret)) return ret;
@ -563,6 +612,15 @@ public:
return "";
}
/** (Optional) An array of two strings constituting a file identifier (see Section 9.3, "File
* Identifiers") that is also included in the referenced file. The use of this entry improves
* a viewer application's chances of finding the intended file and allows it to warn the
* user if the file has changed since the link was made.
**/
bool has_ID() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ID", "", NULL));
}
SkPdfArray ID() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ID", "", &ret)) return ret;
@ -570,6 +628,16 @@ public:
return SkPdfArray();
}
/** (Optional; PDF 1.2) A flag indicating whether the file referenced by the file specifica-
* tion is volatile (changes frequently with time). If the value is true, viewer applications
* should never cache a copy of the file. For example, a movie annotation referencing a
* URL to a live video camera could set this flag to true, notifying the application that it
* should reacquire the movie each time it is played. Default value: false.
**/
bool has_V() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "V", "", NULL));
}
bool V() const {
bool ret;
if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "V", "", &ret)) return ret;
@ -577,6 +645,17 @@ public:
return false;
}
/** (Required if RF is present; PDF 1.3) A dictionary containing a subset of the keys F,
* DOS, Mac, and Unix, corresponding to the entries by those names in the file specifica-
* tion dictionary. The value of each such key is an embedded file stream (see Section
* 3.10.3, "Embedded File Streams") containing the corresponding file. If this entry is
* present, the Type entry is required and the file specification dictionary must be indi-
* rectly referenced.
**/
bool has_EF() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "EF", "", NULL));
}
SkPdfDictionary* EF() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "EF", "", &ret)) return ret;
@ -584,6 +663,17 @@ public:
return NULL;
}
/** (Optional; PDF 1.3) A dictionary with the same structure as the EF dictionary, which
* must also be present. Each key in the RF dictionary must also be present in the EF dic-
* tionary. Each value is a related files array (see "Related Files Arrays" on page 125)
* identifying files that are related to the corresponding file in the EF dictionary. If this
* entry is present, the Type entry is required and the file specification dictionary must
* be indirectly referenced.
**/
bool has_RF() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "RF", "", NULL));
}
SkPdfDictionary* RF() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "RF", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entries in the file trailer dictionary
class SkPdfFileTrailerDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kFileTrailerDictionary_SkPdfObjectType;}
@ -521,6 +522,14 @@ public:
SkPdfFileTrailerDictionary& operator=(const SkPdfFileTrailerDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Required) The total number of entries in the file's cross-reference table, as defined
* by the combination of the original section and all update sections. Equivalently, this
* value is 1 greater than the highest object number used in the file.
**/
bool has_Size() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Size", "", NULL));
}
long Size() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Size", "", &ret)) return ret;
@ -528,6 +537,13 @@ public:
return 0;
}
/** (Present only if the file has more than one cross-reference section) The byte offset from
* the beginning of the file to the beginning of the previous cross-reference section.
**/
bool has_Prev() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Prev", "", NULL));
}
long Prev() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Prev", "", &ret)) return ret;
@ -535,6 +551,13 @@ public:
return 0;
}
/** (Required; must be an indirect reference) The catalog dictionary for the PDF docu-
* ment contained in the file (see Section 3.6.1, "Document Catalog").
**/
bool has_Root() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Root", "", NULL));
}
SkPdfDictionary* Root() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Root", "", &ret)) return ret;
@ -542,6 +565,13 @@ public:
return NULL;
}
/** (Required if document is encrypted; PDF 1.1) The document's encryption dictionary
* (see Section 3.5, "Encryption").
**/
bool has_Encrypt() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Encrypt", "", NULL));
}
SkPdfDictionary* Encrypt() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Encrypt", "", &ret)) return ret;
@ -549,6 +579,13 @@ public:
return NULL;
}
/** (Optional; must be an indirect reference) The document's information dictionary
* (see Section 9.2.1, "Document Information Dictionary").
**/
bool has_Info() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Info", "", NULL));
}
SkPdfDictionary* Info() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Info", "", &ret)) return ret;
@ -556,6 +593,13 @@ public:
return NULL;
}
/** (Optional; PDF 1.1) An array of two strings constituting a file identifier (see Section
* 9.3, "File Identifiers") for the file.
**/
bool has_ID() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ID", "", NULL));
}
SkPdfArray ID() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ID", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entries common to all font descriptors
class SkPdfFontDescriptorDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kFontDescriptorDictionary_SkPdfObjectType;}
@ -521,6 +522,13 @@ public:
SkPdfFontDescriptorDictionary& operator=(const SkPdfFontDescriptorDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Required) The type of PDF object that this dictionary describes; must be
* FontDescriptor for a font descriptor.
**/
bool has_Type() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", NULL));
}
std::string Type() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
@ -528,6 +536,14 @@ public:
return "";
}
/** (Required) The PostScript name of the font. This should be the same as the
* value of BaseFont in the font or CIDFont dictionary that refers to this font
* descriptor.
**/
bool has_FontName() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FontName", "", NULL));
}
std::string FontName() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FontName", "", &ret)) return ret;
@ -535,6 +551,13 @@ public:
return "";
}
/** (Required) A collection of flags defining various characteristics of the font
* (see Section 5.7.1, "Font Descriptor Flags").
**/
bool has_Flags() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Flags", "", NULL));
}
long Flags() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Flags", "", &ret)) return ret;
@ -542,6 +565,15 @@ public:
return 0;
}
/** (Required) A rectangle (see Section 3.8.3, "Rectangles"), expressed in the
* glyph coordinate system, specifying the font bounding box. This is the small-
* est rectangle enclosing the shape that would result if all of the glyphs of the
* font were placed with their origins coincident and then filled.
**/
bool has_FontBBox() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FontBBox", "", NULL));
}
SkRect FontBBox() const {
SkRect ret;
if (SkRectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FontBBox", "", &ret)) return ret;
@ -549,6 +581,15 @@ public:
return SkRect();
}
/** (Required) The angle, expressed in degrees counterclockwise from the verti-
* cal, of the dominant vertical strokes of the font. (For example, the 9-o'clock
* position is 90 degrees, and the 3-o'clock position is '90 degrees.) The value is
* negative for fonts that slope to the right, as almost all italic fonts do.
**/
bool has_ItalicAngle() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ItalicAngle", "", NULL));
}
double ItalicAngle() const {
double ret;
if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ItalicAngle", "", &ret)) return ret;
@ -556,6 +597,13 @@ public:
return 0;
}
/** (Required) The maximum height above the baseline reached by glyphs in this
* font, excluding the height of glyphs for accented characters.
**/
bool has_Ascent() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Ascent", "", NULL));
}
double Ascent() const {
double ret;
if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Ascent", "", &ret)) return ret;
@ -563,6 +611,13 @@ public:
return 0;
}
/** (Required) The maximum depth below the baseline reached by glyphs in this
* font. The value is a negative number.
**/
bool has_Descent() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Descent", "", NULL));
}
double Descent() const {
double ret;
if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Descent", "", &ret)) return ret;
@ -570,6 +625,13 @@ public:
return 0;
}
/** (Optional) The desired spacing between baselines of consecutive lines of text.
* Default value: 0.
**/
bool has_Leading() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Leading", "", NULL));
}
double Leading() const {
double ret;
if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Leading", "", &ret)) return ret;
@ -577,6 +639,13 @@ public:
return 0;
}
/** (Required) The vertical coordinate of the top of flat capital letters, measured
* from the baseline.
**/
bool has_CapHeight() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CapHeight", "", NULL));
}
double CapHeight() const {
double ret;
if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CapHeight", "", &ret)) return ret;
@ -584,6 +653,14 @@ public:
return 0;
}
/** (Optional) The font's x height: the vertical coordinate of the top of flat non-
* ascending lowercase letters (like the letter x), measured from the baseline.
* Default value: 0.
**/
bool has_XHeight() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "XHeight", "", NULL));
}
double XHeight() const {
double ret;
if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "XHeight", "", &ret)) return ret;
@ -591,6 +668,13 @@ public:
return 0;
}
/** (Required) The thickness, measured horizontally, of the dominant vertical
* stems of glyphs in the font.
**/
bool has_StemV() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "StemV", "", NULL));
}
double StemV() const {
double ret;
if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "StemV", "", &ret)) return ret;
@ -598,6 +682,13 @@ public:
return 0;
}
/** (Optional) The thickness, measured invertically, of the dominant horizontal
* stems of glyphs in the font. Default value: 0.
**/
bool has_StemH() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "StemH", "", NULL));
}
double StemH() const {
double ret;
if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "StemH", "", &ret)) return ret;
@ -605,6 +696,12 @@ public:
return 0;
}
/** (Optional) The average width of glyphs in the font. Default value: 0.
**/
bool has_AvgWidth() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AvgWidth", "", NULL));
}
double AvgWidth() const {
double ret;
if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AvgWidth", "", &ret)) return ret;
@ -612,6 +709,12 @@ public:
return 0;
}
/** (Optional) The maximum width of glyphs in the font. Default value: 0.
**/
bool has_MaxWidth() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "MaxWidth", "", NULL));
}
double MaxWidth() const {
double ret;
if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "MaxWidth", "", &ret)) return ret;
@ -619,6 +722,15 @@ public:
return 0;
}
/** (Optional) The width to use for character codes whose widths are not speci-
* fied in a font dictionary's Widths array. This has a predictable effect only if all
* such codes map to glyphs whose actual widths are the same as the Missing-
* Width value. Default value: 0.
**/
bool has_MissingWidth() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "MissingWidth", "", NULL));
}
double MissingWidth() const {
double ret;
if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "MissingWidth", "", &ret)) return ret;
@ -626,6 +738,13 @@ public:
return 0;
}
/** (Optional) A stream containing a Type 1 font program (see Section 5.8,
* "Embedded Font Programs").
**/
bool has_FontFile() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FontFile", "", NULL));
}
SkPdfStream FontFile() const {
SkPdfStream ret;
if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FontFile", "", &ret)) return ret;
@ -633,6 +752,13 @@ public:
return SkPdfStream();
}
/** (Optional; PDF 1.1) A stream containing a TrueType font program (see Sec-
* tion 5.8, "Embedded Font Programs").
**/
bool has_FontFile2() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FontFile2", "", NULL));
}
SkPdfStream FontFile2() const {
SkPdfStream ret;
if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FontFile2", "", &ret)) return ret;
@ -640,6 +766,17 @@ public:
return SkPdfStream();
}
/** (Optional; PDF 1.2) A stream containing a font program other than Type 1 or
* TrueType. The format of the font program is specified by the Subtype entry
* in the stream dictionary (see Section 5.8, "Embedded Font Programs," and
* implementation note 49 in Appendix H).
* At most, only one of the FontFile, FontFile2, and FontFile3 entries may be
* present.
**/
bool has_FontFile3() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FontFile3", "", NULL));
}
SkPdfStream FontFile3() const {
SkPdfStream ret;
if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FontFile3", "", &ret)) return ret;
@ -647,6 +784,17 @@ public:
return SkPdfStream();
}
/** (Optional; meaningful only in Type 1 fonts; PDF 1.1) A string listing the char-
* acter names defined in a font subset. The names in this string must be in PDF
* syntax-that is, each name preceded by a slash (/). The names can appear in
* any order. The name .notdef should be omitted; it is assumed to exist in the
* font subset. If this entry is absent, the only indication of a font subset is the
* subset tag in the FontName entry (see Section 5.5.3, "Font Subsets").
**/
bool has_CharSet() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CharSet", "", NULL));
}
std::string CharSet() const {
std::string ret;
if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CharSet", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entries in a form field's additional-actions dictionary
class SkPdfFormFieldActionsDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kFormFieldActionsDictionary_SkPdfObjectType;}
@ -521,6 +522,14 @@ public:
SkPdfFormFieldActionsDictionary& operator=(const SkPdfFormFieldActionsDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Optional; PDF 1.3) A JavaScript action to be performed when the user types a key-
* stroke into a text field or combo box or modifies the selection in a scrollable list box.
* This allows the keystroke to be checked for validity and rejected or modified.
**/
bool has_K() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "K", "", NULL));
}
SkPdfDictionary* K() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "K", "", &ret)) return ret;
@ -528,6 +537,14 @@ public:
return NULL;
}
/** (Optional; PDF 1.3) A JavaScript action to be performed before the field is formatted
* to display its current value. This allows the field's value to be modified before format-
* ting.
**/
bool has_F() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "F", "", NULL));
}
SkPdfDictionary* F() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "F", "", &ret)) return ret;
@ -535,6 +552,14 @@ public:
return NULL;
}
/** (Optional; PDF 1.3) A JavaScript action to be performed when the field's value is
* changed. This allows the new value to be checked for validity. (The name V stands for
* "validate.")
**/
bool has_V() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "V", "", NULL));
}
SkPdfDictionary* V() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "V", "", &ret)) return ret;
@ -542,6 +567,16 @@ public:
return NULL;
}
/** (Optional; PDF 1.3) A JavaScript action to be performed in order to recalculate the
* value of this field when that of another field changes. (The name C stands for
* "calculate.") The order in which the document's fields are recalculated is defined by the
* CO entry in the interactive form dictionary (see Section 8.6.1, "Interactive Form
* Dictionary").
**/
bool has_C() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "C", "", NULL));
}
SkPdfDictionary* C() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "C", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Additional entries specific to a free text annotation
class SkPdfFreeTextAnnotationDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kFreeTextAnnotationDictionary_SkPdfObjectType;}
@ -521,6 +522,13 @@ public:
SkPdfFreeTextAnnotationDictionary& operator=(const SkPdfFreeTextAnnotationDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Required) The type of annotation that this dictionary describes; must be
* FreeText for a free text annotation.
**/
bool has_Subtype() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", NULL));
}
std::string Subtype() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", &ret)) return ret;
@ -528,6 +536,12 @@ public:
return "";
}
/** (Required) The text to be displayed.
**/
bool has_Contents() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Contents", "", NULL));
}
std::string Contents() const {
std::string ret;
if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Contents", "", &ret)) return ret;
@ -535,6 +549,15 @@ public:
return "";
}
/** (Required) The default appearance string to be used in formatting the text (see
* "Variable Text" on page 533).
* Note: The annotation dictionary's AP entry, if present, takes precedence over the DA
* entry; see Table 8.10 on page 490 and Section 8.4.4, "Appearance Streams."
**/
bool has_DA() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DA", "", NULL));
}
std::string DA() const {
std::string ret;
if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DA", "", &ret)) return ret;
@ -542,6 +565,17 @@ public:
return "";
}
/** (Optional; PDF 1.4) A code specifying the form of quadding (justification) to be
* used in displaying the annotation's text:
* 0 Left-justified
* 1 Centered
* 2 Right-justified
* Default value: 0 (left-justified).
**/
bool has_Q() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Q", "", NULL));
}
long Q() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Q", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entries common to all function dictionaries
class SkPdfFunctionCommonDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kFunctionCommonDictionary_SkPdfObjectType;}
@ -521,6 +522,16 @@ public:
SkPdfFunctionCommonDictionary& operator=(const SkPdfFunctionCommonDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Required) The function type:
* 0 Sampled function
* 2 Exponential interpolation function
* 3 Stitching function
* 4 PostScript calculator function
**/
bool has_FunctionType() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FunctionType", "", NULL));
}
long FunctionType() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FunctionType", "", &ret)) return ret;
@ -528,6 +539,16 @@ public:
return 0;
}
/** (Required) An array of 2 x m numbers, where m is the number of input
* values. For each i from 0 to m - 1, Domain2i must be less than or equal to
* Domain2i+1 , and the ith input value, xi , must lie in the interval
* Domain2i <= xi <= Domain2i+1 . Input values outside the declared domain are
* clipped to the nearest boundary value.
**/
bool has_Domain() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Domain", "", NULL));
}
SkPdfArray Domain() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Domain", "", &ret)) return ret;
@ -535,6 +556,17 @@ public:
return SkPdfArray();
}
/** (Required for type 0 and type 4 functions, optional otherwise; see below) An
* array of 2 x n numbers, where n is the number of output values. For each j
* from 0 to n - 1, Range2j must be less than or equal to Range2j+1 , and the jth
* output value, yj , must lie in the interval Range2j <= yj <= Range2j+1 . Output
* values outside the declared range are clipped to the nearest boundary value.
* If this entry is absent, no clipping is done.
**/
bool has_Range() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Range", "", NULL));
}
SkPdfArray Range() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Range", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Additional entries specific to a go-to action
class SkPdfGoToActionDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kGoToActionDictionary_SkPdfObjectType;}
@ -521,6 +522,13 @@ public:
SkPdfGoToActionDictionary& operator=(const SkPdfGoToActionDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Required) The type of action that this dictionary describes; must be GoTo for a
* go-to action.
**/
bool has_S() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", NULL));
}
std::string S() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", &ret)) return ret;
@ -528,6 +536,12 @@ public:
return "";
}
/** (Required) The destination to jump to (see Section 8.2.1, "Destinations").
**/
bool has_D() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "D", "", NULL));
}
bool isDAName() const {
SkPdfObject* ret = NULL;
if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "D", "", &ret)) return false;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entries in a graphics state parameter dictionary
class SkPdfGraphicsStateDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kGraphicsStateDictionary_SkPdfObjectType;}
@ -521,6 +522,13 @@ public:
SkPdfGraphicsStateDictionary& operator=(const SkPdfGraphicsStateDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Optional) The type of PDF object that this dictionary describes; must be
* ExtGState for a graphics state parameter dictionary.
**/
bool has_Type() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", NULL));
}
std::string Type() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
@ -528,6 +536,12 @@ public:
return "";
}
/** (Optional; PDF 1.3) The line width (see "Line Width" on page 152).
**/
bool has_LW() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "LW", "", NULL));
}
double LW() const {
double ret;
if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "LW", "", &ret)) return ret;
@ -535,6 +549,12 @@ public:
return 0;
}
/** (Optional; PDF 1.3) The line cap style (see "Line Cap Style" on page 153).
**/
bool has_LC() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "LC", "", NULL));
}
long LC() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "LC", "", &ret)) return ret;
@ -542,6 +562,12 @@ public:
return 0;
}
/** (Optional; PDF 1.3) The line join style (see "Line Join Style" on page 153).
**/
bool has_LJ() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "LJ", "", NULL));
}
long LJ() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "LJ", "", &ret)) return ret;
@ -549,6 +575,12 @@ public:
return 0;
}
/** (Optional; PDF 1.3) The miter limit (see "Miter Limit" on page 153).
**/
bool has_ML() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ML", "", NULL));
}
double ML() const {
double ret;
if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ML", "", &ret)) return ret;
@ -556,6 +588,14 @@ public:
return 0;
}
/** (Optional; PDF 1.3) The line dash pattern, expressed as an array of the form
* [dashArray dashPhase], where dashArray is itself an array and dashPhase is an
* integer (see "Line Dash Pattern" on page 155).
**/
bool has_D() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "D", "", NULL));
}
SkPdfArray D() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "D", "", &ret)) return ret;
@ -563,6 +603,13 @@ public:
return SkPdfArray();
}
/** (Optional; PDF 1.3) The name of the rendering intent (see "Rendering
* Intents" on page 197).
**/
bool has_RI() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "RI", "", NULL));
}
std::string RI() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "RI", "", &ret)) return ret;
@ -570,6 +617,18 @@ public:
return "";
}
/** (Optional) A flag specifying whether to apply overprint (see Section 4.5.6,
* "Overprint Control"). In PDF 1.2 and earlier, there is a single overprint
* parameter that applies to all painting operations. Beginning with PDF 1.3,
* there are two separate overprint parameters: one for stroking and one for all
* other painting operations. Specifying an OP entry sets both parameters un-
* less there is also an op entry in the same graphics state parameter dictionary,
* in which case the OP entry sets only the overprint parameter for stroking.
**/
bool has_OP() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "OP", "", NULL));
}
bool OP() const {
bool ret;
if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "OP", "", &ret)) return ret;
@ -577,6 +636,14 @@ public:
return false;
}
/** (Optional; PDF 1.3) A flag specifying whether to apply overprint (see Section
* 4.5.6, "Overprint Control") for painting operations other than stroking. If
* this entry is absent, the OP entry, if any, sets this parameter.
**/
bool has_op() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "op", "", NULL));
}
bool op() const {
bool ret;
if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "op", "", &ret)) return ret;
@ -584,6 +651,13 @@ public:
return false;
}
/** (Optional; PDF 1.3) The overprint mode (see Section 4.5.6, "Overprint Con-
* trol").
**/
bool has_OPM() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "OPM", "", NULL));
}
long OPM() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "OPM", "", &ret)) return ret;
@ -591,6 +665,16 @@ public:
return 0;
}
/** (Optional; PDF 1.3) An array of the form [font size], where font is an indirect
* reference to a font dictionary and size is a number expressed in text space
* units. These two objects correspond to the operands of the Tf operator (see
* Section 5.2, "Text State Parameters and Operators"); however, the first oper-
* and is an indirect object reference instead of a resource name.
**/
bool has_Font() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Font", "", NULL));
}
SkPdfArray Font() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Font", "", &ret)) return ret;
@ -598,6 +682,14 @@ public:
return SkPdfArray();
}
/** (Optional) The black-generation function, which maps the interval [0.0 1.0]
* to the interval [0.0 1.0] (see Section 6.2.3, "Conversion from DeviceRGB to
* DeviceCMYK").
**/
bool has_BG() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BG", "", NULL));
}
SkPdfFunction BG() const {
SkPdfFunction ret;
if (FunctionFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BG", "", &ret)) return ret;
@ -605,6 +697,15 @@ public:
return SkPdfFunction();
}
/** (Optional; PDF 1.3) Same as BG except that the value may also be the name
* Default, denoting the black-generation function that was in effect at the start
* of the page. If both BG and BG2 are present in the same graphics state param-
* eter dictionary, BG2 takes precedence.
**/
bool has_BG2() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BG2", "", NULL));
}
bool isBG2AFunction() const {
SkPdfObject* ret = NULL;
if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BG2", "", &ret)) return false;
@ -631,6 +732,14 @@ public:
return "";
}
/** (Optional) The undercolor-removal function, which maps the interval
* [0.0 1.0] to the interval [-1.0 1.0] (see Section 6.2.3, "Conversion from
* DeviceRGB to DeviceCMYK").
**/
bool has_UCR() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "UCR", "", NULL));
}
SkPdfFunction UCR() const {
SkPdfFunction ret;
if (FunctionFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "UCR", "", &ret)) return ret;
@ -638,6 +747,15 @@ public:
return SkPdfFunction();
}
/** (Optional; PDF 1.3) Same as UCR except that the value may also be the name
* Default, denoting the undercolor-removal function that was in effect at the
* start of the page. If both UCR and UCR2 are present in the same graphics state
* parameter dictionary, UCR2 takes precedence.
**/
bool has_UCR2() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "UCR2", "", NULL));
}
bool isUCR2AFunction() const {
SkPdfObject* ret = NULL;
if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "UCR2", "", &ret)) return false;
@ -664,6 +782,16 @@ public:
return "";
}
/** (Optional) The transfer function, which maps the interval [0.0 1.0] to the
* interval [0.0 1.0] (see Section 6.3, "Transfer Functions"). The value is either
* a single function (which applies to all process colorants) or an array of four
* functions (which apply to the process colorants individually). The name
* Identity may be used to represent the identity function.
**/
bool has_TR() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TR", "", NULL));
}
bool isTRAFunction() const {
SkPdfObject* ret = NULL;
if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TR", "", &ret)) return false;
@ -703,6 +831,15 @@ public:
return "";
}
/** (Optional; PDF 1.3) Same as TR except that the value may also be the name
* Default, denoting the transfer function that was in effect at the start of the
* page. If both TR and TR2 are present in the same graphics state parameter dic-
* tionary, TR2 takes precedence.
**/
bool has_TR2() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TR2", "", NULL));
}
bool isTR2AFunction() const {
SkPdfObject* ret = NULL;
if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TR2", "", &ret)) return false;
@ -742,6 +879,14 @@ public:
return "";
}
/** (Optional) The halftone dictionary or stream (see Section 6.4, "Halftones")
* or the name Default, denoting the halftone that was in effect at the start of the
* page.
**/
bool has_HT() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "HT", "", NULL));
}
bool isHTADictionary() const {
SkPdfObject* ret = NULL;
if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "HT", "", &ret)) return false;
@ -781,6 +926,13 @@ public:
return "";
}
/** (Optional; PDF 1.3) The flatness tolerance (see Section 6.5.1, "Flatness Toler-
* ance").
**/
bool has_FL() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FL", "", NULL));
}
double FL() const {
double ret;
if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FL", "", &ret)) return ret;
@ -788,6 +940,13 @@ public:
return 0;
}
/** (Optional; PDF 1.3) The smoothness tolerance (see Section 6.5.2, "Smooth-
* ness Tolerance").
**/
bool has_SM() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SM", "", NULL));
}
double SM() const {
double ret;
if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SM", "", &ret)) return ret;
@ -795,6 +954,13 @@ public:
return 0;
}
/** (Optional) A flag specifying whether to apply automatic stroke adjustment
* (see Section 6.5.4, "Automatic Stroke Adjustment").
**/
bool has_SA() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SA", "", NULL));
}
bool SA() const {
bool ret;
if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SA", "", &ret)) return ret;
@ -802,6 +968,14 @@ public:
return false;
}
/** (Optional; PDF 1.4) The current blend mode to be used in the transparent
* imaging model (see Sections 7.2.4, "Blend Mode," and 7.5.2, "Specifying
* Blending Color Space and Blend Mode").
**/
bool has_BM() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BM", "", NULL));
}
bool isBMAName() const {
SkPdfObject* ret = NULL;
if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BM", "", &ret)) return false;
@ -828,6 +1002,19 @@ public:
return SkPdfArray();
}
/** (Optional; PDF 1.4) The current soft mask, specifying the mask shape or
* mask opacity values to be used in the transparent imaging model (see
* "Source Shape and Opacity" on page 421 and "Mask Shape and Opacity" on
* page 443).
* Note: Although the current soft mask is sometimes referred to as a "soft clip,"
* altering it with the gs operator completely replaces the old value with the new
* one, rather than intersecting the two as is done with the current clipping path
* parameter (see Section 4.4.3, "Clipping Path Operators").
**/
bool has_SMask() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SMask", "", NULL));
}
bool isSMaskADictionary() const {
SkPdfObject* ret = NULL;
if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SMask", "", &ret)) return false;
@ -854,6 +1041,15 @@ public:
return "";
}
/** (Optional; PDF 1.4) The current stroking alpha constant, specifying the con-
* stant shape or constant opacity value to be used for stroking operations in the
* transparent imaging model (see "Source Shape and Opacity" on page 421
* and "Constant Shape and Opacity" on page 444).
**/
bool has_CA() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CA", "", NULL));
}
double CA() const {
double ret;
if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CA", "", &ret)) return ret;
@ -861,6 +1057,12 @@ public:
return 0;
}
/** (Optional; PDF 1.4) Same as CA, but for nonstroking operations.
**/
bool has_ca() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ca", "", NULL));
}
double ca() const {
double ret;
if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ca", "", &ret)) return ret;
@ -868,6 +1070,14 @@ public:
return 0;
}
/** (Optional; PDF 1.4) The alpha source flag ("alpha is shape"), specifying
* whether the current soft mask and alpha constant are to be interpreted as
* shape values (true) or opacity values (false).
**/
bool has_AIS() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AIS", "", NULL));
}
bool AIS() const {
bool ret;
if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AIS", "", &ret)) return ret;
@ -875,6 +1085,14 @@ public:
return false;
}
/** (Optional; PDF 1.4) The text knockout flag, which determines the behavior
* of overlapping glyphs within a text object in the transparent imaging model
* (see Section 5.2.7, "Text Knockout").
**/
bool has_TK() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TK", "", NULL));
}
bool TK() const {
bool ret;
if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TK", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entries common to all group attributes dictionaries
class SkPdfGroupAttributesDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kGroupAttributesDictionary_SkPdfObjectType;}
@ -521,6 +522,13 @@ public:
SkPdfGroupAttributesDictionary& operator=(const SkPdfGroupAttributesDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Optional) The type of PDF object that this dictionary describes; if present, must
* be Group for a group attributes dictionary.
**/
bool has_Type() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", NULL));
}
std::string Type() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
@ -528,6 +536,17 @@ public:
return "";
}
/** (Required) The group subtype, which identifies the type of group whose at-
* tributes this dictionary describes and determines the format and meaning of the
* dictionary's remaining entries. The only group subtype defined in PDF 1.4 is
* Transparency; see Section 7.5.5, "Transparency Group XObjects," for the re-
* maining contents of this type of dictionary. Other group subtypes may be added
* in the future.
**/
bool has_S() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", NULL));
}
std::string S() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Additional entries specific to a hide action
class SkPdfHideActionDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kHideActionDictionary_SkPdfObjectType;}
@ -521,6 +522,13 @@ public:
SkPdfHideActionDictionary& operator=(const SkPdfHideActionDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Required) The type of action that this dictionary describes; must be Hide for a hide
* action.
**/
bool has_S() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", NULL));
}
std::string S() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", &ret)) return ret;
@ -528,6 +536,18 @@ public:
return "";
}
/** (Required) The annotation or annotations to be hidden or shown, specified in any
* of the following forms:
* * An indirect reference to an annotation dictionary
* * A string giving the fully qualified field name of an interactive form field whose
* associated widget annotation or annotations are to be affected (see "Field
* Names" on page 532)
* * An array of such dictionaries or strings
**/
bool has_T() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "T", "", NULL));
}
bool isTADictionary() const {
SkPdfObject* ret = NULL;
if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "T", "", &ret)) return false;
@ -567,6 +587,13 @@ public:
return SkPdfArray();
}
/** (Optional) A flag indicating whether to hide the annotation (true) or show it (false).
* Default value: true.
**/
bool has_H() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "H", "", NULL));
}
bool H() const {
bool ret;
if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "H", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Additional entries specific to an ICC profile stream dictionary
class SkPdfIccProfileStreamDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kIccProfileStreamDictionary_SkPdfObjectType;}
@ -521,6 +522,14 @@ public:
SkPdfIccProfileStreamDictionary& operator=(const SkPdfIccProfileStreamDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Required) The number of color components in the color space described by the ICC
* profile data. This number must match the number of components actually in the ICC
* profile. As of PDF 1.4, N must be 1, 3, or 4.
**/
bool has_N() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "N", "", NULL));
}
long N() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "N", "", &ret)) return ret;
@ -528,6 +537,22 @@ public:
return 0;
}
/** (Optional) An alternate color space to be used in case the one specified in the stream
* data is not supported (for example, by viewer applications designed for earlier
* versions of PDF). The alternate space may be any valid color space (except a Pattern
* color space) that has the number of components specified by N. If this entry is omit-
* ted and the viewer application does not understand the ICC profile data, the color
* space used will be DeviceGray, DeviceRGB, or DeviceCMYK, depending on whether
* the value of N is 1, 3, or 4, respectively.
* Note: Note that there is no conversion of source color values, such as a tint transforma-
* tion, when using the alternate color space. Color values that are within the range of the
* ICCBased color space might not be within the range of the alternate color space. In this
* case, the nearest values within the range of the alternate space will be substituted.
**/
bool has_Alternate() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Alternate", "", NULL));
}
bool isAlternateAArray() const {
SkPdfObject* ret = NULL;
if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Alternate", "", &ret)) return false;
@ -554,6 +579,15 @@ public:
return "";
}
/** (Optional) An array of 2 x N numbers [min0 max0 min1 max1 ... ] specifying the
* minimum and maximum valid values of the corresponding color components.
* These values must match the information in the ICC profile. Default value:
* [0.0 1.0 0.0 1.0 ...].
**/
bool has_Range() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Range", "", NULL));
}
SkPdfArray Range() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Range", "", &ret)) return ret;
@ -561,6 +595,13 @@ public:
return SkPdfArray();
}
/** (Optional; PDF 1.4) A metadata stream containing metadata for the color space (see
* Section 9.2.2, "Metadata Streams").
**/
bool has_Metadata() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Metadata", "", NULL));
}
SkPdfStream Metadata() const {
SkPdfStream ret;
if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Metadata", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entries in an icon fit dictionary
class SkPdfIconFitDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kIconFitDictionary_SkPdfObjectType;}
@ -521,6 +522,18 @@ public:
SkPdfIconFitDictionary& operator=(const SkPdfIconFitDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Required) The circumstances under which the icon should be scaled inside the annota-
* tion rectangle:
* A Always scale.
* B Scale only when the icon is bigger than the annotation rectangle.
* S Scale only when the icon is smaller than the annotation rectangle.
* N Never scale.
* Default value: A.
**/
bool has_SW() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SW", "", NULL));
}
std::string SW() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SW", "", &ret)) return ret;
@ -528,6 +541,19 @@ public:
return "";
}
/** (Required) The type of scaling to use:
* A Anamorphic scaling: scale the icon to fill the annotation rectangle exactly, with-
* out regard to its original aspect ratio (ratio of width to height).
* P Proportional scaling: scale the icon to fit the width or height of the annotation
* rectangle while maintaining the icon's original aspect ratio. If the required hori-
* zontal and vertical scaling factors are different, use the smaller of the two, cen-
* tering the icon within the annotation rectangle in the other dimension.
* Default value: P.
**/
bool has_S() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", NULL));
}
std::string S() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", &ret)) return ret;
@ -535,6 +561,16 @@ public:
return "";
}
/** (Required) An array of two numbers between 0.0 and 1.0 indicating the fraction of left-
* over space to allocate at the left and bottom of the icon. A value of [0.0 0.0] positions the
* icon at the bottom-left corner of the annotation rectangle; a value of [0.5 0.5] centers it
* within the rectangle. This entry is used only if the icon is scaled proportionally. Default
* value: [0.5 0.5].
**/
bool has_A() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "A", "", NULL));
}
SkPdfArray A() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "A", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfXObjectDictionary_autogen.h"
// Additional entries specific to an image dictionary
class SkPdfImageDictionary : public SkPdfXObjectDictionary {
public:
virtual SkPdfObjectType getType() const { return kImageDictionary_SkPdfObjectType;}
@ -26,6 +27,13 @@ public:
SkPdfImageDictionary& operator=(const SkPdfImageDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Optional) The type of PDF object that this dictionary describes; if
* present, must be XObject for an image XObject.
**/
bool has_Type() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", NULL));
}
std::string Type() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
@ -33,6 +41,13 @@ public:
return "";
}
/** (Required) The type of XObject that this dictionary describes; must be
* Image for an image XObject.
**/
bool has_Subtype() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", NULL));
}
std::string Subtype() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", &ret)) return ret;
@ -40,6 +55,12 @@ public:
return "";
}
/** (Required) The width of the image, in samples.
**/
bool has_Width() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Width", "", NULL));
}
long Width() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Width", "", &ret)) return ret;
@ -47,6 +68,12 @@ public:
return 0;
}
/** (Required) The height of the image, in samples.
**/
bool has_Height() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Height", "", NULL));
}
long Height() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Height", "", &ret)) return ret;
@ -54,6 +81,14 @@ public:
return 0;
}
/** (Required except for image masks; not allowed for image masks) The color
* space in which image samples are specified. This may be any type of color
* space except Pattern.
**/
bool has_ColorSpace() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ColorSpace", "", NULL));
}
bool isColorSpaceAName() const {
SkPdfObject* ret = NULL;
if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ColorSpace", "", &ret)) return false;
@ -80,6 +115,22 @@ public:
return SkPdfArray();
}
/** (Required except for image masks; optional for image masks) The number of
* bits used to represent each color component. Only a single value may be
* specified; the number of bits is the same for all color components. Valid
* values are 1, 2, 4, and 8. If ImageMask is true, this entry is optional, and if
* specified, its value must be 1.
* If the image stream uses a filter, the value of BitsPerComponent must be
* consistent with the size of the data samples that the filter delivers. In par-
* ticular, a CCITTFaxDecode or JBIG2Decode filter always delivers 1-bit sam-
* ples, a RunLengthDecode or DCTDecode filter delivers 8-bit samples, and
* an LZWDecode or FlateDecode filter delivers samples of a specified size if
* a predictor function is used.
**/
bool has_BitsPerComponent() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BitsPerComponent", "", NULL));
}
long BitsPerComponent() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BitsPerComponent", "", &ret)) return ret;
@ -87,6 +138,14 @@ public:
return 0;
}
/** (Optional; PDF 1.1) The name of a color rendering intent to be used in
* rendering the image (see "Rendering Intents" on page 197). Default value:
* the current rendering intent in the graphics state.
**/
bool has_Intent() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Intent", "", NULL));
}
std::string Intent() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Intent", "", &ret)) return ret;
@ -94,6 +153,16 @@ public:
return "";
}
/** (Optional) A flag indicating whether the image is to be treated as an image
* mask (see Section 4.8.5, "Masked Images"). If this flag is true, the value of
* BitsPerComponent must be 1 and Mask and ColorSpace should not be
* specified; unmasked areas will be painted using the current nonstroking
* color. Default value: false.
**/
bool has_ImageMask() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ImageMask", "", NULL));
}
bool ImageMask() const {
bool ret;
if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ImageMask", "", &ret)) return ret;
@ -101,6 +170,17 @@ public:
return false;
}
/** (Optional except for image masks; not allowed for image masks; PDF 1.3) An
* image XObject defining an image mask to be applied to this image (see
* "Explicit Masking" on page 277), or an array specifying a range of colors
* to be applied to it as a color key mask (see "Color Key Masking" on page
* 277). If ImageMask is true, this entry must not be present. (See
* implementation note 35 in Appendix H.)
**/
bool has_Mask() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Mask", "", NULL));
}
bool isMaskAStream() const {
SkPdfObject* ret = NULL;
if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Mask", "", &ret)) return false;
@ -127,6 +207,21 @@ public:
return SkPdfArray();
}
/** (Optional; PDF 1.4) A subsidiary image XObject defining a soft-mask
* image (see "Soft-Mask Images" on page 447) to be used as a source of
* mask shape or mask opacity values in the transparent imaging model. The
* alpha source parameter in the graphics state determines whether the mask
* values are interpreted as shape or opacity.
* If present, this entry overrides the current soft mask in the graphics state,
* as well as the image's Mask entry, if any. (However, the other transparency-
* related graphics state parameters-blend mode and alpha constant-
* remain in effect.) If SMask is absent, the image has no associated soft mask
* (although the current soft mask in the graphics state may still apply).
**/
bool has_SMask() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SMask", "", NULL));
}
SkPdfStream SMask() const {
SkPdfStream ret;
if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SMask", "", &ret)) return ret;
@ -134,6 +229,17 @@ public:
return SkPdfStream();
}
/** (Optional) An array of numbers describing how to map image samples
* into the range of values appropriate for the image's color space (see
* "Decode Arrays" on page 271). If ImageMask is true, the array must be
* either [0 1] or [1 0]; otherwise, its length must be twice the number of
* color components required by ColorSpace. Default value: see "Decode
* Arrays" on page 271.
**/
bool has_Decode() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Decode", "", NULL));
}
SkPdfArray Decode() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Decode", "", &ret)) return ret;
@ -141,6 +247,13 @@ public:
return SkPdfArray();
}
/** (Optional) A flag indicating whether image interpolation is to be per-
* formed (see "Image Interpolation" on page 273). Default value: false.
**/
bool has_Interpolate() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Interpolate", "", NULL));
}
bool Interpolate() const {
bool ret;
if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Interpolate", "", &ret)) return ret;
@ -148,6 +261,15 @@ public:
return false;
}
/** (Optional; PDF 1.3) An array of alternate image dictionaries for this image
* (see "Alternate Images" on page 273). The order of elements within the
* array has no significance. This entry may not be present in an image
* XObject that is itself an alternate image.
**/
bool has_Alternates() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Alternates", "", NULL));
}
SkPdfArray Alternates() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Alternates", "", &ret)) return ret;
@ -155,6 +277,16 @@ public:
return SkPdfArray();
}
/** (Required in PDF 1.0; optional otherwise) The name by which this image
* XObject is referenced in the XObject subdictionary of the current resource
* dictionary (see Section 3.7.2, "Resource Dictionaries").
* Note: This entry is obsolescent and its use is no longer recommended. (See
* implementation note 36 in Appendix H.)
**/
bool has_Name() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Name", "", NULL));
}
std::string Name() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Name", "", &ret)) return ret;
@ -162,6 +294,14 @@ public:
return "";
}
/** (Required if the image is a structural content item; PDF 1.3) The integer key
* of the image's entry in the structural parent tree (see "Finding Structure
* Elements from Content Items" on page 600).
**/
bool has_StructParent() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "StructParent", "", NULL));
}
long StructParent() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "StructParent", "", &ret)) return ret;
@ -169,6 +309,14 @@ public:
return 0;
}
/** (Optional; PDF 1.3; indirect reference preferred) The digital identifier of the
* image's parent Web Capture content set (see Section 9.9.5, "Object At-
* tributes Related to Web Capture").
**/
bool has_ID() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ID", "", NULL));
}
std::string ID() const {
std::string ret;
if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ID", "", &ret)) return ret;
@ -176,6 +324,14 @@ public:
return "";
}
/** (Optional; PDF 1.2) An OPI version dictionary for the image (see Section
* 9.10.6, "Open Prepress Interface (OPI)"). If ImageMask is true, this entry
* is ignored.
**/
bool has_OPI() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "OPI", "", NULL));
}
SkPdfDictionary* OPI() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "OPI", "", &ret)) return ret;
@ -183,6 +339,13 @@ public:
return NULL;
}
/** (Optional; PDF 1.4) A metadata stream containing metadata for the image
* (see Section 9.2.2, "Metadata Streams").
**/
bool has_Metadata() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Metadata", "", NULL));
}
SkPdfStream Metadata() const {
SkPdfStream ret;
if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Metadata", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Additional entries specific to an import-data action
class SkPdfImportDataActionDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kImportDataActionDictionary_SkPdfObjectType;}
@ -521,6 +522,13 @@ public:
SkPdfImportDataActionDictionary& operator=(const SkPdfImportDataActionDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Required) The type of action that this dictionary describes; must be ImportData
* for an import-data action.
**/
bool has_S() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", NULL));
}
std::string S() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", &ret)) return ret;
@ -528,6 +536,13 @@ public:
return "";
}
/** (Required) The FDF file from which to import the data. (See implementation
* notes 87 and 88 in Appendix H.)
**/
bool has_F() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "F", "", NULL));
}
SkPdfFileSpec F() const {
SkPdfFileSpec ret;
if (FileSpecFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "F", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Additional entries specific to an ink annotation
class SkPdfInkAnnotationDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kInkAnnotationDictionary_SkPdfObjectType;}
@ -521,6 +522,13 @@ public:
SkPdfInkAnnotationDictionary& operator=(const SkPdfInkAnnotationDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Required) The type of annotation that this dictionary describes; must be Ink for
* an ink annotation.
**/
bool has_Subtype() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", NULL));
}
std::string Subtype() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", &ret)) return ret;
@ -528,6 +536,13 @@ public:
return "";
}
/** (Required) The text to be displayed in the pop-up window when the annotation
* is opened. Carriage returns may be used to separate the text into paragraphs.
**/
bool has_Contents() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Contents", "", NULL));
}
std::string Contents() const {
std::string ret;
if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Contents", "", &ret)) return ret;
@ -535,6 +550,16 @@ public:
return "";
}
/** (Required) An array of n arrays, each representing a stroked path. Each array is a
* series of alternating horizontal and vertical coordinates in default user space,
* specifying points along the path. When drawn, the points are connected by
* straight lines or curves in an implementation-dependent way. (See implementa-
* tion note 68 in Appendix H.)
**/
bool has_InkList() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "InkList", "", NULL));
}
SkPdfArray InkList() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "InkList", "", &ret)) return ret;
@ -542,6 +567,16 @@ public:
return SkPdfArray();
}
/** (Optional) A border style dictionary (see Table 8.12 on page 495) specifying the
* line width and dash pattern to be used in drawing the paths.
* Note: The annotation dictionary's AP entry, if present, takes precedence over the
* InkList and BS entries; see Table 8.10 on page 490 and Section 8.4.4, "Appearance
* Streams."
**/
bool has_BS() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BS", "", NULL));
}
SkPdfDictionary* BS() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BS", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Standard layout attributes specific to inline-level structure elements
class SkPdfInlineLevelStructureElementsDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kInlineLevelStructureElementsDictionary_SkPdfObjectType;}
@ -521,6 +522,22 @@ public:
SkPdfInlineLevelStructureElementsDictionary& operator=(const SkPdfInlineLevelStructureElementsDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Optional) The element's preferred height, measured in default user space
* units in the block-progression direction. The height of a line is deter-
* mined by the largest LineHeight value for any complete or partial ILSE
* that it contains.
* The name Normal or Auto in place of a numeric value indicates that no
* specific height constraint is to be imposed; the element's height is set to a
* reasonable value based on the content's font size:
* Normal Adjust the line height to include any nonzero value
* specified for BaselineShift (see below).
* Auto Do not adjust for the value of BaselineShift.
* Default value: Normal.
**/
bool has_LineHeight() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "LineHeight", "", NULL));
}
bool isLineHeightANumber() const {
SkPdfObject* ret = NULL;
if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "LineHeight", "", &ret)) return false;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entries in the interactive form dictionary
class SkPdfInteractiveFormDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kInteractiveFormDictionary_SkPdfObjectType;}
@ -521,6 +522,13 @@ public:
SkPdfInteractiveFormDictionary& operator=(const SkPdfInteractiveFormDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Required) An array of references to the document's root fields (those with
* no ancestors in the field hierarchy).
**/
bool has_Fields() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Fields", "", NULL));
}
SkPdfArray Fields() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Fields", "", &ret)) return ret;
@ -528,6 +536,14 @@ public:
return SkPdfArray();
}
/** (Optional) A flag specifying whether to construct appearance streams and
* appearance dictionaries for all widget annotations in the document (see
* "Variable Text" on page 533). Default value: false.
**/
bool has_NeedAppearances() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "NeedAppearances", "", NULL));
}
bool NeedAppearances() const {
bool ret;
if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "NeedAppearances", "", &ret)) return ret;
@ -535,6 +551,14 @@ public:
return false;
}
/** (Optional; PDF 1.3) A set of flags specifying various document-level char-
* acteristics related to signature fields (see Table 8.48, below, and "Signature
* Fields" on page 547). Default value: 0.
**/
bool has_SigFlags() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SigFlags", "", NULL));
}
long SigFlags() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SigFlags", "", &ret)) return ret;
@ -542,6 +566,16 @@ public:
return 0;
}
/** (Required if any fields in the document have additional-actions dictionaries
* containing a C entry; PDF 1.3) An array of indirect references to field dic-
* tionaries with calculation actions, defining the calculation order in which
* their values will be recalculated when the value of any field changes (see
* Section 8.5.2, "Trigger Events").
**/
bool has_CO() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CO", "", NULL));
}
SkPdfArray CO() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CO", "", &ret)) return ret;
@ -549,6 +583,13 @@ public:
return SkPdfArray();
}
/** (Optional) A document-wide default value for the DR attribute of variable
* text fields (see "Variable Text" on page 533).
**/
bool has_DR() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DR", "", NULL));
}
SkPdfDictionary* DR() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DR", "", &ret)) return ret;
@ -556,6 +597,13 @@ public:
return NULL;
}
/** (Optional) A document-wide default value for the DA attribute of variable
* text fields (see "Variable Text" on page 533).
**/
bool has_DA() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DA", "", NULL));
}
std::string DA() const {
std::string ret;
if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DA", "", &ret)) return ret;
@ -563,6 +611,13 @@ public:
return "";
}
/** (Optional) A document-wide default value for the Q attribute of variable
* text fields (see "Variable Text" on page 533).
**/
bool has_Q() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Q", "", NULL));
}
long Q() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Q", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Additional entries specific to a JavaScript action
class SkPdfJavascriptActionDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kJavascriptActionDictionary_SkPdfObjectType;}
@ -521,6 +522,13 @@ public:
SkPdfJavascriptActionDictionary& operator=(const SkPdfJavascriptActionDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Required) The type of action that this dictionary describes; must be JavaScript
* for a JavaScript action.
**/
bool has_S() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", NULL));
}
std::string S() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", &ret)) return ret;
@ -528,6 +536,15 @@ public:
return "";
}
/** (Required) A string or stream containing the JavaScript script to be executed.
* Note: PDFDocEncoding or Unicode encoding (the latter identified by the Unicode
* prefix U+ FEFF) is used to encode the contents of the string or stream. (See imple-
* mentation note 89 in Appendix H.)
**/
bool has_JS() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "JS", "", NULL));
}
bool isJSAString() const {
SkPdfObject* ret = NULL;
if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "JS", "", &ret)) return false;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entries in the JavaScript dictionary
class SkPdfJavascriptDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kJavascriptDictionary_SkPdfObjectType;}
@ -521,6 +522,13 @@ public:
SkPdfJavascriptDictionary& operator=(const SkPdfJavascriptDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Optional) A string or stream containing a JavaScript script to be executed
* just before the FDF file is imported.
**/
bool has_Before() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Before", "", NULL));
}
bool isBeforeAString() const {
SkPdfObject* ret = NULL;
if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Before", "", &ret)) return false;
@ -547,6 +555,13 @@ public:
return SkPdfStream();
}
/** (Optional) A string or stream containing a JavaScript script to be executed
* just after the FDF file is imported.
**/
bool has_After() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "After", "", NULL));
}
bool isAfterAString() const {
SkPdfObject* ret = NULL;
if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "After", "", &ret)) return false;
@ -573,6 +588,20 @@ public:
return SkPdfStream();
}
/** (Optional) An array defining additional JavaScript scripts to be added to
* those defined in the JavaScript entry of the document's name dictionary (see
* Section 3.6.3, "Name Dictionary"). The array contains an even number of
* elements, organized in pairs. The first element of each pair is a name and the
* second is a string or stream defining the script corresponding to that name.
* Each of the defined scripts will be added to those already defined in the name
* dictionary and then executed before the script defined in the Before entry is
* executed. As described in "JavaScript Actions" on page 556, these scripts are
* used to define JavaScript functions for use by other scripts in the document.
**/
bool has_Doc() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Doc", "", NULL));
}
SkPdfArray Doc() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Doc", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Optional parameter for the JBIG2Decode filter
class SkPdfJbig2DecodeFilterDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kJbig2DecodeFilterDictionary_SkPdfObjectType;}
@ -521,6 +522,14 @@ public:
SkPdfJbig2DecodeFilterDictionary& operator=(const SkPdfJbig2DecodeFilterDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** ()A stream containing the JBIG2 global (page 0) segments. Global segments
* must be placed in this stream even if only a single JBIG2 image XObject refers
* to it.
**/
bool has_JBIG2Globals() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "JBIG2Globals", "", NULL));
}
SkPdfStream JBIG2Globals() const {
SkPdfStream ret;
if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "JBIG2Globals", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entries in a Lab color space dictionary
class SkPdfLabColorSpaceDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kLabColorSpaceDictionary_SkPdfObjectType;}
@ -521,6 +522,15 @@ public:
SkPdfLabColorSpaceDictionary& operator=(const SkPdfLabColorSpaceDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Required) An array of three numbers [ XW YW ZW ] specifying the tristimulus value,
* in the CIE 1931 XYZ space, of the diffuse white point; see "CalRGB Color Spaces" on
* page 184 for further discussion. The numbers XW and ZW must be positive, and YW
* must be equal to 1.0.
**/
bool has_WhitePoint() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "WhitePoint", "", NULL));
}
SkPdfArray WhitePoint() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "WhitePoint", "", &ret)) return ret;
@ -528,6 +538,15 @@ public:
return SkPdfArray();
}
/** (Optional) An array of three numbers [ XB YB ZB ] specifying the tristimulus value, in
* the CIE 1931 XYZ space, of the diffuse black point; see "CalRGB Color Spaces" on
* page 184 for further discussion. All three of these numbers must be nonnegative.
* Default value: [0.0 0.0 0.0].
**/
bool has_BlackPoint() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BlackPoint", "", NULL));
}
SkPdfArray BlackPoint() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BlackPoint", "", &ret)) return ret;
@ -535,6 +554,18 @@ public:
return SkPdfArray();
}
/** (Optional) An array of four numbers [ amin amax bmin bmax ] specifying the range of
* valid values for the a* and b* (B and C) components of the color space-that is,
* a min <= a* <= a max
* and
* b min <= b* <= b max
* Component values falling outside the specified range will be adjusted to the nearest
* valid value without error indication. Default value: [ -100 100 -100 100].
**/
bool has_Range() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Range", "", NULL));
}
SkPdfArray Range() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Range", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Additional entries specific to a launch action
class SkPdfLaunchActionDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kLaunchActionDictionary_SkPdfObjectType;}
@ -521,6 +522,13 @@ public:
SkPdfLaunchActionDictionary& operator=(const SkPdfLaunchActionDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Required) The type of action that this dictionary describes; must be Launch
* for a launch action.
**/
bool has_S() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", NULL));
}
std::string S() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", &ret)) return ret;
@ -528,6 +536,15 @@ public:
return "";
}
/** (Required if none of the entries Win, Mac, or Unix is present) The application to
* be launched or the document to be opened or printed. If this entry is absent
* and the viewer application does not understand any of the alternative entries,
* it should do nothing.
**/
bool has_F() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "F", "", NULL));
}
SkPdfFileSpec F() const {
SkPdfFileSpec ret;
if (FileSpecFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "F", "", &ret)) return ret;
@ -535,6 +552,13 @@ public:
return SkPdfFileSpec();
}
/** (Optional) A dictionary containing Windows-specific launch parameters (see
* the Table 8.38; see also implementation note 73 in Appendix H).
**/
bool has_Win() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Win", "", NULL));
}
SkPdfDictionary* Win() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Win", "", &ret)) return ret;
@ -542,6 +566,12 @@ public:
return NULL;
}
/** (Optional) Mac OS'specific launch parameters; not yet defined.
**/
bool has_Mac() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Mac", "", NULL));
}
SkPdfObject* Mac() const {
SkPdfObject* ret;
if (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Mac", "", &ret)) return ret;
@ -549,6 +579,12 @@ public:
return NULL;
}
/** (Optional) UNIX-specific launch parameters; not yet defined.
**/
bool has_Unix() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Unix", "", NULL));
}
SkPdfObject* Unix() const {
SkPdfObject* ret;
if (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Unix", "", &ret)) return ret;
@ -556,6 +592,17 @@ public:
return NULL;
}
/** (Optional; PDF 1.2) A flag specifying whether to open the destination docu-
* ment in a new window. If this flag is false, the destination document will
* replace the current document in the same window. If this entry is absent, the
* viewer application should behave in accordance with the current user prefer-
* ence. This entry is ignored if the file designated by the F entry is not a PDF
* document.
**/
bool has_NewWindow() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "NewWindow", "", NULL));
}
bool NewWindow() const {
bool ret;
if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "NewWindow", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Additional entries specific to a line annotation
class SkPdfLineAnnotationDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kLineAnnotationDictionary_SkPdfObjectType;}
@ -521,6 +522,13 @@ public:
SkPdfLineAnnotationDictionary& operator=(const SkPdfLineAnnotationDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Required) The type of annotation that this dictionary describes; must be Line
* for a line annotation.
**/
bool has_Subtype() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", NULL));
}
std::string Subtype() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", &ret)) return ret;
@ -528,6 +536,13 @@ public:
return "";
}
/** (Required) The text to be displayed in the pop-up window when the annotation
* is opened. Carriage returns may be used to separate the text into paragraphs.
**/
bool has_Contents() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Contents", "", NULL));
}
std::string Contents() const {
std::string ret;
if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Contents", "", &ret)) return ret;
@ -535,6 +550,13 @@ public:
return "";
}
/** (Required) An array of four numbers, [x1 y1 x2 y2 ], specifying the starting and
* ending coordinates of the line in default user space.
**/
bool has_L() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "L", "", NULL));
}
SkPdfArray L() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "L", "", &ret)) return ret;
@ -542,6 +564,15 @@ public:
return SkPdfArray();
}
/** (Optional) A border style dictionary (see Table 8.12 on page 495) specifying the
* width and dash pattern to be used in drawing the line.
* Note: The annotation dictionary's AP entry, if present, takes precedence over the L
* and BS entries; see Table 8.10 on page 490 and Section 8.4.4, "Appearance Streams."
**/
bool has_BS() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BS", "", NULL));
}
SkPdfDictionary* BS() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BS", "", &ret)) return ret;
@ -549,6 +580,16 @@ public:
return NULL;
}
/** (Optional; PDF 1.4) An array of two names specifying the line ending styles to be
* used in drawing the line. The first and second elements of the array specify the
* line ending styles for the endpoints defined, respectively, by the first and second
* pairs of coordinates, (x1 , y1 ) and (x2 , y2 ), in the L array. Table 8.19 shows the
* possible values. Default value: [/None /None].
**/
bool has_LE() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "LE", "", NULL));
}
SkPdfArray LE() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "LE", "", &ret)) return ret;
@ -556,6 +597,15 @@ public:
return SkPdfArray();
}
/** (Optional; PDF 1.4) An array of three numbers in the range 0.0 to 1.0 specifying
* the components, in the DeviceRGB color space, of the interior color with which to
* fill the annotation's line endings (see Table 8.19). If this entry is absent, the inte-
* riors of the line endings are left transparent.
**/
bool has_IC() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "IC", "", NULL));
}
SkPdfArray IC() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "IC", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Standard list attribute
class SkPdfListAttributeDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kListAttributeDictionary_SkPdfObjectType;}
@ -521,6 +522,29 @@ public:
SkPdfListAttributeDictionary& operator=(const SkPdfListAttributeDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Optional) The numbering system used to generate the content of the Lbl (Label)
* elements in an autonumbered list, or the symbol used to identify each item in an
* unnumbered list:
* None No autonumbering; Lbl elements (if present) contain arbi-
* trary text not subject to any numbering scheme
* Disc Solid circular bullet
* Circle Open circular bullet
* Square Solid square bullet
* Decimal Decimal arabic numerals (1'9, 10'99, ...)
* UpperRoman Uppercase roman numerals (I, II, III, IV, ...)
* LowerRoman Lowercase roman numerals (i, ii, iii, iv, ...)
* UpperAlpha Uppercase letters (A, B, C, ...)
* LowerAlpha Lowercase letters (a, b, c, ...)
* Default value: None.
* Note: The alphabet used for UpperAlpha and LowerAlpha is determined by the pre-
* vailing Lang entry (see Section 9.8.1, "Natural Language Specification").
* Note: The set of possible values may be expanded as Unicode identifies additional
* numbering systems.
**/
bool has_ListNumbering() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ListNumbering", "", NULL));
}
std::string ListNumbering() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ListNumbering", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Optional parameters for LZWDecode and FlateDecode filters
class SkPdfLzwdecodeAndFlatedecodeFiltersDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kLzwdecodeAndFlatedecodeFiltersDictionary_SkPdfObjectType;}
@ -521,6 +522,17 @@ public:
SkPdfLzwdecodeAndFlatedecodeFiltersDictionary& operator=(const SkPdfLzwdecodeAndFlatedecodeFiltersDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** ()A code that selects the predictor algorithm, if any. If the value of this entry
* is 1, the filter assumes that the normal algorithm was used to encode the data,
* without prediction. If the value is greater than 1, the filter assumes that the
* data was differenced before being encoded, and Predictor selects the predic-
* tor algorithm. For more information regarding Predictor values greater
* than 1, see "LZW and Flate Predictor Functions," below. Default value: 1.
**/
bool has_Predictor() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Predictor", "", NULL));
}
long Predictor() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Predictor", "", &ret)) return ret;
@ -528,6 +540,14 @@ public:
return 0;
}
/** (Used only if Predictor is greater than 1) The number of interleaved color com-
* ponents per sample. Valid values are 1 to 4 in PDF 1.2 or earlier, and 1 or
* greater in PDF 1.3 or later. Default value: 1.
**/
bool has_Colors() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Colors", "", NULL));
}
long Colors() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Colors", "", &ret)) return ret;
@ -535,6 +555,14 @@ public:
return 0;
}
/** (Used only if Predictor is greater than 1) The number of bits used to represent
* each color component in a sample. Valid values are 1, 2, 4, and 8. Default
* value: 8.
**/
bool has_BitsPerComponent() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BitsPerComponent", "", NULL));
}
long BitsPerComponent() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BitsPerComponent", "", &ret)) return ret;
@ -542,6 +570,13 @@ public:
return 0;
}
/** (Used only if Predictor is greater than 1) The number of samples in each row.
* Default value: 1.
**/
bool has_Columns() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Columns", "", NULL));
}
long Columns() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Columns", "", &ret)) return ret;
@ -549,6 +584,16 @@ public:
return 0;
}
/** (LZWDecode only) An indication of when to increase the code length. If the
* value of this entry is 0, code length increases are postponed as long as pos-
* sible. If it is 1, they occur one code early. This parameter is included because
* LZW sample code distributed by some vendors increases the code length one
* code earlier than necessary. Default value: 1.
**/
bool has_EarlyChange() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "EarlyChange", "", NULL));
}
long EarlyChange() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "EarlyChange", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entries in a Mac OS file information dictionary
class SkPdfMacOsFileInformationDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kMacOsFileInformationDictionary_SkPdfObjectType;}
@ -521,6 +522,12 @@ public:
SkPdfMacOsFileInformationDictionary& operator=(const SkPdfMacOsFileInformationDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Optional) The embedded file's file type.
**/
bool has_Subtype() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", NULL));
}
std::string Subtype() const {
std::string ret;
if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", &ret)) return ret;
@ -528,6 +535,12 @@ public:
return "";
}
/** (Optional) The embedded file's creator signature.
**/
bool has_Creator() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Creator", "", NULL));
}
std::string Creator() const {
std::string ret;
if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Creator", "", &ret)) return ret;
@ -535,6 +548,12 @@ public:
return "";
}
/** (Optional) The binary contents of the embedded file's resource fork.
**/
bool has_ResFork() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ResFork", "", NULL));
}
SkPdfStream ResFork() const {
SkPdfStream ret;
if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ResFork", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entry in the mark information dictionary
class SkPdfMarkInformationDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kMarkInformationDictionary_SkPdfObjectType;}
@ -521,6 +522,13 @@ public:
SkPdfMarkInformationDictionary& operator=(const SkPdfMarkInformationDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Optional) A flag indicating whether the document conforms to Tagged PDF
* conventions. Default value: false.
**/
bool has_Marked() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Marked", "", NULL));
}
bool Marked() const {
bool ret;
if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Marked", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entries in a marked-content reference dictionary
class SkPdfMarkedContentReferenceDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kMarkedContentReferenceDictionary_SkPdfObjectType;}
@ -521,6 +522,13 @@ public:
SkPdfMarkedContentReferenceDictionary& operator=(const SkPdfMarkedContentReferenceDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Required) The type of PDF object that this dictionary describes; must be MCR
* for a marked-content reference.
**/
bool has_Type() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", NULL));
}
std::string Type() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
@ -528,6 +536,15 @@ public:
return "";
}
/** (Optional; must be an indirect reference) The page object representing the page on
* which the graphics objects in the marked-content sequence are rendered. This
* entry overrides any Pg entry in the structure element containing the marked-
* content reference; it is required if the structure element has no such entry.
**/
bool has_Pg() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Pg", "", NULL));
}
SkPdfDictionary* Pg() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Pg", "", &ret)) return ret;
@ -535,6 +552,17 @@ public:
return NULL;
}
/** (Optional; must be an indirect reference) The content stream containing the
* marked-content sequence. This entry is needed only if the marked-content
* sequence resides in some other content stream associated with the page-for
* example, in a form XObject (see Section 4.9, "Form XObjects") or an annota-
* tion's appearance stream (Section 8.4.4, "Appearance Streams"). Default value:
* the content stream of the page identified by Pg.
**/
bool has_Stm() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Stm", "", NULL));
}
SkPdfStream Stm() const {
SkPdfStream ret;
if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Stm", "", &ret)) return ret;
@ -542,6 +570,14 @@ public:
return SkPdfStream();
}
/** (Optional; must be an indirect reference) The PDF object owning the stream
* identified by Stm-for example, the annotation to which an appearance stream
* belongs.
**/
bool has_StmOwn() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "StmOwn", "", NULL));
}
SkPdfObject* StmOwn() const {
SkPdfObject* ret;
if (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "StmOwn", "", &ret)) return ret;
@ -549,6 +585,13 @@ public:
return NULL;
}
/** (Required) The marked-content identifier of the marked-content sequence with-
* in its content stream.
**/
bool has_MCID() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "MCID", "", NULL));
}
long MCID() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "MCID", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Additional entries specific to markup annotations
class SkPdfMarkupAnnotationsDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kMarkupAnnotationsDictionary_SkPdfObjectType;}
@ -521,6 +522,14 @@ public:
SkPdfMarkupAnnotationsDictionary& operator=(const SkPdfMarkupAnnotationsDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Required) The type of annotation that this dictionary describes; must be
* Highlight, Underline, Squiggly, or StrikeOut for a highlight, underline,
* squiggly-underline, or strikeout annotation, respectively.
**/
bool has_Subtype() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", NULL));
}
std::string Subtype() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", &ret)) return ret;
@ -528,6 +537,14 @@ public:
return "";
}
/** (Required) The text to be displayed in the pop-up window when the annota-
* tion is opened. Carriage returns may be used to separate the text into para-
* graphs.
**/
bool has_Contents() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Contents", "", NULL));
}
std::string Contents() const {
std::string ret;
if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Contents", "", &ret)) return ret;
@ -535,6 +552,30 @@ public:
return "";
}
/** (Required) An array of 8 x n numbers specifying the coordinates of n quadri-
* laterals in default user space. Each quadrilateral encompasses a word or
* group of contiguous words in the text underlying the annotation. The coor-
* dinates for each quadrilateral are given in the order
* x1 y1 x2 y2 x3 y3 x4 y4
* specifying the quadrilateral's four vertices in counterclockwise order (see
* Figure 8.5). The text is oriented with respect to the edge connecting points
* (x1 , y1) and (x2 , y2). (See implementation note 67 in Appendix H.)
* Note: The annotation dictionary's AP entry, if present, takes precedence over the
* QuadPoints entry; see Table 8.10 on page 490 and Section 8.4.4, "Appearance
* Streams."
* (x3 , y3 )
* ter
* (x2 , y2 )
* pi
* (x4 , y4 )
* Ju
* (x1 , y1 )
* FIGURE 8.5 QuadPoints specification
**/
bool has_QuadPoints() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "QuadPoints", "", NULL));
}
SkPdfArray QuadPoints() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "QuadPoints", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Additional entries in a metadata stream dictionary
class SkPdfMetadataStreamDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kMetadataStreamDictionary_SkPdfObjectType;}
@ -521,6 +522,13 @@ public:
SkPdfMetadataStreamDictionary& operator=(const SkPdfMetadataStreamDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Required) The type of PDF object that this dictionary describes; must be Metadata
* for a metadata stream.
**/
bool has_Type() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", NULL));
}
std::string Type() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
@ -528,6 +536,13 @@ public:
return "";
}
/** (Required) The type of metadata stream that this dictionary describes; must be
* XML.
**/
bool has_Subtype() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", NULL));
}
std::string Subtype() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Additional entries specific to a movie action
class SkPdfMovieActionDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kMovieActionDictionary_SkPdfObjectType;}
@ -521,6 +522,13 @@ public:
SkPdfMovieActionDictionary& operator=(const SkPdfMovieActionDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Required) The type of action that this dictionary describes; must be Movie
* for a movie action.
**/
bool has_S() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", NULL));
}
std::string S() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", &ret)) return ret;
@ -528,6 +536,13 @@ public:
return "";
}
/** (Optional) An indirect reference to a movie annotation identifying the movie
* to be played.
**/
bool has_Annot() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Annot", "", NULL));
}
SkPdfDictionary* Annot() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Annot", "", &ret)) return ret;
@ -535,6 +550,14 @@ public:
return NULL;
}
/** (Optional) The title of a movie annotation identifying the movie to be
* played.
* Note: The dictionary must include either an Annot or a T entry, but not both.
**/
bool has_T() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "T", "", NULL));
}
std::string T() const {
std::string ret;
if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "T", "", &ret)) return ret;
@ -542,6 +565,21 @@ public:
return "";
}
/** (Optional) The operation to be performed on the movie:
* Play Start playing the movie, using the play mode specified by the
* dictionary's Mode entry (see Table 8.79 on page 571). If the
* movie is currently paused, it is repositioned to the beginning
* before playing (or to the starting point specified by the dic-
* tionary's Start entry, if present).
* Stop Stop playing the movie.
* Pause Pause a playing movie.
* Resume Resume a paused movie.
* Default value: Play.
**/
bool has_Operation() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Operation", "", NULL));
}
std::string Operation() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Operation", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entries in a movie activation dictionary
class SkPdfMovieActivationDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kMovieActivationDictionary_SkPdfObjectType;}
@ -521,6 +522,25 @@ public:
SkPdfMovieActivationDictionary& operator=(const SkPdfMovieActivationDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Optional) The starting time of the movie segment to be played. Movie time
* values are expressed in units of time based on a time scale, which defines the
* number of units per second; the default time scale is defined in the movie
* data itself. The starting time is nominally a 64-bit integer, specified as follows:
* * If it is representable as an integer (subject to the implementation limit for
* integers, as described in Appendix C), it should be specified as such.
* * If it is not representable as an integer, it should be specified as an 8-byte
* string representing a 64-bit twos-complement integer, most significant
* byte first.
* * If it is expressed in a time scale different from that of the movie itself, it is
* represented as an array of two values: an integer or string denoting the
* starting time, as above, followed by an integer specifying the time scale in
* units per second.
* If this entry is omitted, the movie is played from the beginning.
**/
bool has_Start() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Start", "", NULL));
}
SkPdfObject* Start() const {
SkPdfObject* ret;
if (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Start", "", &ret)) return ret;
@ -528,6 +548,14 @@ public:
return NULL;
}
/** (Optional) The duration of the movie segment to be played, specified in the
* same form as Start. Negative values specify that the movie is to be played
* backward. If this entry is omitted, the movie is played to the end.
**/
bool has_Duration() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Duration", "", NULL));
}
SkPdfObject* Duration() const {
SkPdfObject* ret;
if (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Duration", "", &ret)) return ret;
@ -535,6 +563,14 @@ public:
return NULL;
}
/** (Optional) The initial speed at which to play the movie. If the value of this
* entry is negative, the movie is played backward with respect to Start and
* Duration. Default value: 1.0.
**/
bool has_Rate() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Rate", "", NULL));
}
double Rate() const {
double ret;
if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Rate", "", &ret)) return ret;
@ -542,6 +578,14 @@ public:
return 0;
}
/** (Optional) The initial sound volume at which to play the movie, in the range
* -1.0 to 1.0. Higher values denote greater volume; negative values mute the
* sound. Default value: 1.0.
**/
bool has_Volume() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Volume", "", NULL));
}
double Volume() const {
double ret;
if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Volume", "", &ret)) return ret;
@ -549,6 +593,13 @@ public:
return 0;
}
/** (Optional) A flag specifying whether to display a movie controller bar while
* playing the movie. Default value: false.
**/
bool has_ShowControls() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ShowControls", "", NULL));
}
bool ShowControls() const {
bool ret;
if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ShowControls", "", &ret)) return ret;
@ -556,6 +607,17 @@ public:
return false;
}
/** (Optional) The play mode for playing the movie:
* Once Play once and stop.
* Open Play and leave the movie controller bar open.
* Repeat Play repeatedly from beginning to end until stopped.
* Palindrome Play continuously forward and backward until stopped.
* Default value: Once.
**/
bool has_Mode() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Mode", "", NULL));
}
std::string Mode() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Mode", "", &ret)) return ret;
@ -563,6 +625,16 @@ public:
return "";
}
/** (Optional) A flag specifying whether to play the movie synchronously or
* asynchronously. If this value is true, the movie player will retain control until
* the movie is completed or dismissed by the user; if false, it will return control
* to the viewer application immediately after starting the movie. Default value:
* false.
**/
bool has_Synchronous() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Synchronous", "", NULL));
}
bool Synchronous() const {
bool ret;
if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Synchronous", "", &ret)) return ret;
@ -570,6 +642,19 @@ public:
return false;
}
/** (Optional) The magnification (zoom) factor at which to play the movie. The
* presence of this entry implies that the movie is to be played in a floating win-
* dow; if the entry is absent, it will be played in the annotation rectangle.
* The value of the entry is an array of two integers, [numerator denominator],
* denoting a rational magnification factor for the movie. The final window
* size, in pixels, is
* (numerator / denominator) x Aspect
* where the value of Aspect is taken from the movie dictionary (see Table 8.79).
**/
bool has_FWScale() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FWScale", "", NULL));
}
SkPdfArray FWScale() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FWScale", "", &ret)) return ret;
@ -577,6 +662,18 @@ public:
return SkPdfArray();
}
/** (Optional) For floating play windows, the relative position of the window on
* the screen. The value is an array of two numbers
* [horiz vert]
* each in the range 0.0 to 1.0, denoting the relative horizontal and vertical posi-
* tion of the movie window with respect to the screen. For example, the value
* [0.5 0.5] centers the window on the screen. Default value: [0.5 0.5].
* CHAPTER 9
**/
bool has_FWPosition() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FWPosition", "", NULL));
}
SkPdfArray FWPosition() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FWPosition", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Additional entries specific to a movie annotation
class SkPdfMovieAnnotationDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kMovieAnnotationDictionary_SkPdfObjectType;}
@ -521,6 +522,13 @@ public:
SkPdfMovieAnnotationDictionary& operator=(const SkPdfMovieAnnotationDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Required) The type of annotation that this dictionary describes; must be Movie
* for a movie annotation.
**/
bool has_Subtype() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", NULL));
}
std::string Subtype() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", &ret)) return ret;
@ -528,6 +536,13 @@ public:
return "";
}
/** (Required) A movie dictionary describing the movie's static characteristics (see
* Section 8.8, "Movies").
**/
bool has_Movie() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Movie", "", NULL));
}
SkPdfDictionary* Movie() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Movie", "", &ret)) return ret;
@ -535,6 +550,15 @@ public:
return NULL;
}
/** (Optional; PDF 1.4) An alternate representation of the annotation's contents in
* human-readable form, useful when extracting the document's contents in sup-
* port of accessibility to disabled users or for other purposes (see Section 9.8.2,
* "Alternate Descriptions").
**/
bool has_Contents() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Contents", "", NULL));
}
std::string Contents() const {
std::string ret;
if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Contents", "", &ret)) return ret;
@ -542,6 +566,17 @@ public:
return "";
}
/** (Optional) A flag or dictionary specifying whether and how to play the movie
* when the annotation is activated. If this value is a dictionary, it is a movie activa-
* tion dictionary (see Section 8.8, "Movies") specifying how to play the movie; if it
* is the boolean value true, the movie should be played using default activation
* parameters; if it is false, the movie should not be played at all. Default value:
* true.
**/
bool has_A() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "A", "", NULL));
}
bool isAABoolean() const {
SkPdfObject* ret = NULL;
if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "A", "", &ret)) return false;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entries in a movie dictionary
class SkPdfMovieDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kMovieDictionary_SkPdfObjectType;}
@ -521,6 +522,14 @@ public:
SkPdfMovieDictionary& operator=(const SkPdfMovieDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Required) A file specification identifying a self-describing movie file.
* Note: The format of a "self-describing movie file" is left unspecified, and there is
* no guarantee of portability.
**/
bool has_F() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "F", "", NULL));
}
SkPdfFileSpec F() const {
SkPdfFileSpec ret;
if (FileSpecFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "F", "", &ret)) return ret;
@ -528,6 +537,14 @@ public:
return SkPdfFileSpec();
}
/** (Optional) The width and height of the movie's bounding box, in pixels,
* specified as [width height]. This entry should be omitted for a movie consist-
* ing entirely of sound with no visible images.
**/
bool has_Aspect() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Aspect", "", NULL));
}
SkPdfArray Aspect() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Aspect", "", &ret)) return ret;
@ -535,6 +552,13 @@ public:
return SkPdfArray();
}
/** (Optional) The number of degrees by which the movie is rotated clockwise
* relative to the page. The value must be a multiple of 90. Default value: 0.
**/
bool has_Rotate() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Rotate", "", NULL));
}
long Rotate() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Rotate", "", &ret)) return ret;
@ -542,6 +566,16 @@ public:
return 0;
}
/** (Optional) A flag or stream specifying whether and how to display a poster
* image representing the movie. If this value is a stream, it contains an image
* XObject (see Section 4.8, "Images") to be displayed as the poster; if it is the
* boolean value true, the poster image should be retrieved from the movie file
* itself; if it is false, no poster should be displayed. Default value: false.
**/
bool has_Poster() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Poster", "", NULL));
}
bool isPosterABoolean() const {
SkPdfObject* ret = NULL;
if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Poster", "", &ret)) return false;

View File

@ -23,6 +23,10 @@ public:
SkPdfMultiMasterFontDictionary& operator=(const SkPdfMultiMasterFontDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
bool has_Subtype() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", NULL));
}
std::string Subtype() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entries in the name dictionary
class SkPdfNameDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kNameDictionary_SkPdfObjectType;}
@ -521,6 +522,13 @@ public:
SkPdfNameDictionary& operator=(const SkPdfNameDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Optional; PDF 1.2) A name tree mapping name strings to destinations (see
* "Named Destinations" on page 476).
**/
bool has_Dests() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Dests", "", NULL));
}
bool isDestsAName() const {
SkPdfObject* ret = NULL;
if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Dests", "", &ret)) return false;
@ -547,6 +555,13 @@ public:
return NULL;
}
/** (Optional; PDF 1.3) A name tree mapping name strings to annotation
* appearance streams (see Section 8.4.4, "Appearance Streams").
**/
bool has_AP() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AP", "", NULL));
}
bool isAPAName() const {
SkPdfObject* ret = NULL;
if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AP", "", &ret)) return false;
@ -573,6 +588,13 @@ public:
return NULL;
}
/** (Optional; PDF 1.3) A name tree mapping name strings to document-level
* JavaScript(R) actions (see "JavaScript Actions" on page 556).
**/
bool has_JavaScript() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "JavaScript", "", NULL));
}
bool isJavaScriptAName() const {
SkPdfObject* ret = NULL;
if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "JavaScript", "", &ret)) return false;
@ -599,6 +621,13 @@ public:
return NULL;
}
/** (Optional; PDF 1.3) A name tree mapping name strings to visible pages for
* use in interactive forms (see Section 8.6.5, "Named Pages").
**/
bool has_Pages() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Pages", "", NULL));
}
bool isPagesAName() const {
SkPdfObject* ret = NULL;
if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Pages", "", &ret)) return false;
@ -625,6 +654,13 @@ public:
return NULL;
}
/** (Optional; PDF 1.3) A name tree mapping name strings to invisible (tem-
* plate) pages for use in interactive forms (see Section 8.6.5, "Named Pages").
**/
bool has_Templates() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Templates", "", NULL));
}
bool isTemplatesAName() const {
SkPdfObject* ret = NULL;
if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Templates", "", &ret)) return false;
@ -651,6 +687,13 @@ public:
return NULL;
}
/** (Optional; PDF 1.3) A name tree mapping digital identifiers to Web Capture
* content sets (see Section 9.9.3, "Content Sets").
**/
bool has_IDS() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "IDS", "", NULL));
}
bool isIDSAName() const {
SkPdfObject* ret = NULL;
if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "IDS", "", &ret)) return false;
@ -677,6 +720,13 @@ public:
return NULL;
}
/** (Optional; PDF 1.3) A name tree mapping uniform resource locators (URLs)
* to Web Capture content sets (see Section 9.9.3, "Content Sets").
**/
bool has_URLS() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "URLS", "", NULL));
}
bool isURLSAName() const {
SkPdfObject* ret = NULL;
if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "URLS", "", &ret)) return false;
@ -703,6 +753,13 @@ public:
return NULL;
}
/** (Optional; PDF 1.4) A name tree mapping name strings to embedded file
* streams (see Section 3.10.3, "Embedded File Streams").
**/
bool has_EmbeddedFiles() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "EmbeddedFiles", "", NULL));
}
bool isEmbeddedFilesAName() const {
SkPdfObject* ret = NULL;
if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "EmbeddedFiles", "", &ret)) return false;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entries in a name tree node dictionary
class SkPdfNameTreeNodeDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kNameTreeNodeDictionary_SkPdfObjectType;}
@ -521,6 +522,14 @@ public:
SkPdfNameTreeNodeDictionary& operator=(const SkPdfNameTreeNodeDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Root and intermediate nodes only; required in intermediate nodes; present in the root node
* if and only if Names is not present) An array of indirect references to the immediate chil-
* dren of this node. The children may be intermediate or leaf nodes.
**/
bool has_Kids() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Kids", "", NULL));
}
SkPdfArray Kids() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Kids", "", &ret)) return ret;
@ -528,6 +537,16 @@ public:
return SkPdfArray();
}
/** (Root and leaf nodes only; required in leaf nodes; present in the root node if and only if Kids
* is not present) An array of the form
* [key1 value1 key2 value2 ... keyn valuen ]
* where each keyi is a string and the corresponding valuei is an indirect reference to the
* object associated with that key. The keys are sorted in lexical order, as described below.
**/
bool has_Names() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Names", "", NULL));
}
SkPdfArray Names() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Names", "", &ret)) return ret;
@ -535,6 +554,14 @@ public:
return SkPdfArray();
}
/** (Intermediate and leaf nodes only; required) An array of two strings, specifying the (lexi-
* cally) least and greatest keys included in the Names array of a leaf node or in the Names
* arrays of any leaf nodes that are descendants of an intermediate node.
**/
bool has_Limits() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Limits", "", NULL));
}
SkPdfArray Limits() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Limits", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Additional entries specific to named actions
class SkPdfNamedActionsDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kNamedActionsDictionary_SkPdfObjectType;}
@ -521,6 +522,13 @@ public:
SkPdfNamedActionsDictionary& operator=(const SkPdfNamedActionsDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Required) The type of action that this dictionary describes; must be Named for a named
* action.
**/
bool has_S() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", NULL));
}
std::string S() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", &ret)) return ret;
@ -528,6 +536,12 @@ public:
return "";
}
/** (Required) The name of the action to be performed (see Table 8.45).
**/
bool has_N() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "N", "", NULL));
}
std::string N() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "N", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entries in a number tree node dictionary
class SkPdfNumberTreeNodeDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kNumberTreeNodeDictionary_SkPdfObjectType;}
@ -521,6 +522,14 @@ public:
SkPdfNumberTreeNodeDictionary& operator=(const SkPdfNumberTreeNodeDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Root and intermediate nodes only; required in intermediate nodes; present in the root node
* if and only if Nums is not present) An array of indirect references to the immediate chil-
* dren of this node. The children may be intermediate or leaf nodes.
**/
bool has_Kids() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Kids", "", NULL));
}
SkPdfArray Kids() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Kids", "", &ret)) return ret;
@ -528,6 +537,17 @@ public:
return SkPdfArray();
}
/** (Root and leaf nodes only; required in leaf nodes; present in the root node if and only if Kids
* is not present) An array of the form
* [key1 value1 key2 value2 ... keyn valuen ]
* where each keyi is an integer and the corresponding valuei is an indirect reference to the
* object associated with that key. The keys are sorted in numerical order, analogously to
* the arrangement of keys in a name tree as described in Section 3.8.4, "Name Trees."
**/
bool has_Nums() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Nums", "", NULL));
}
SkPdfArray Nums() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Nums", "", &ret)) return ret;
@ -535,6 +555,14 @@ public:
return SkPdfArray();
}
/** (Intermediate and leaf nodes only; required) An array of two integers, specifying the
* (numerically) least and greatest keys included in the Nums array of a leaf node or in the
* Nums arrays of any leaf nodes that are descendants of an intermediate node.
**/
bool has_Limits() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Limits", "", NULL));
}
SkPdfArray Limits() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Limits", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entries in an object reference dictionary
class SkPdfObjectReferenceDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kObjectReferenceDictionary_SkPdfObjectType;}
@ -521,6 +522,13 @@ public:
SkPdfObjectReferenceDictionary& operator=(const SkPdfObjectReferenceDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Required) The type of PDF object that this dictionary describes; must be OBJR for an
* object reference.
**/
bool has_Type() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", NULL));
}
std::string Type() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
@ -528,6 +536,15 @@ public:
return "";
}
/** (Optional; must be an indirect reference) The page object representing the page on
* which the object is rendered. This entry overrides any Pg entry in the structure ele-
* ment containing the object reference; it is required if the structure element has no such
* entry.
**/
bool has_Pg() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Pg", "", NULL));
}
SkPdfDictionary* Pg() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Pg", "", &ret)) return ret;
@ -535,6 +552,12 @@ public:
return NULL;
}
/** (Required; must be an indirect reference) The referenced object.
**/
bool has_Obj() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Obj", "", NULL));
}
SkPdfObject* Obj() const {
SkPdfObject* ret;
if (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Obj", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entry in an OPI version dictionary
class SkPdfOpiVersionDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kOpiVersionDictionary_SkPdfObjectType;}
@ -521,6 +522,14 @@ public:
SkPdfOpiVersionDictionary& operator=(const SkPdfOpiVersionDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Required; PDF 1.2) An OPI dictionary specifying the attributes of this proxy
* (see Tables 9.50 and 9.51). The key for this entry must be the name 1.3 or 2.0,
* identifying the version of OPI to which the proxy corresponds.
**/
bool has_version_number() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "version_number", "", NULL));
}
SkPdfDictionary* version_number() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "version_number", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entries in the outline dictionary
class SkPdfOutlineDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kOutlineDictionary_SkPdfObjectType;}
@ -521,6 +522,13 @@ public:
SkPdfOutlineDictionary& operator=(const SkPdfOutlineDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Optional) The type of PDF object that this dictionary describes; if present,
* must be Outlines for an outline dictionary.
**/
bool has_Type() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", NULL));
}
std::string Type() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
@ -528,6 +536,13 @@ public:
return "";
}
/** (Required; must be an indirect reference) An outline item dictionary represent-
* ing the first top-level item in the outline.
**/
bool has_First() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "First", "", NULL));
}
SkPdfDictionary* First() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "First", "", &ret)) return ret;
@ -535,6 +550,13 @@ public:
return NULL;
}
/** (Required; must be an indirect reference) An outline item dictionary represent-
* ing the last top-level item in the outline.
**/
bool has_Last() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Last", "", NULL));
}
SkPdfDictionary* Last() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Last", "", &ret)) return ret;
@ -542,6 +564,14 @@ public:
return NULL;
}
/** (Required if the document has any open outline entries) The total number of
* open items at all levels of the outline. This entry should be omitted if there
* are no open outline items.
**/
bool has_Count() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Count", "", NULL));
}
long Count() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Count", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entries in an outline item dictionary
class SkPdfOutlineItemDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kOutlineItemDictionary_SkPdfObjectType;}
@ -521,6 +522,12 @@ public:
SkPdfOutlineItemDictionary& operator=(const SkPdfOutlineItemDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Required) The text to be displayed on the screen for this item.
**/
bool has_Title() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Title", "", NULL));
}
std::string Title() const {
std::string ret;
if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Title", "", &ret)) return ret;
@ -528,6 +535,13 @@ public:
return "";
}
/** (Required; must be an indirect reference) The parent of this item in the outline
* hierarchy. The parent of a top-level item is the outline dictionary itself.
**/
bool has_Parent() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Parent", "", NULL));
}
SkPdfDictionary* Parent() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Parent", "", &ret)) return ret;
@ -535,6 +549,13 @@ public:
return NULL;
}
/** (Required for all but the first item at each level; must be an indirect reference)
* The previous item at this outline level.
**/
bool has_Prev() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Prev", "", NULL));
}
SkPdfDictionary* Prev() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Prev", "", &ret)) return ret;
@ -542,6 +563,13 @@ public:
return NULL;
}
/** (Required for all but the last item at each level; must be an indirect reference)
* The next item at this outline level.
**/
bool has_Next() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Next", "", NULL));
}
SkPdfDictionary* Next() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Next", "", &ret)) return ret;
@ -549,6 +577,13 @@ public:
return NULL;
}
/** (Required if the item has any descendants; must be an indirect reference) The
* first of this item's immediate children in the outline hierarchy.
**/
bool has_First() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "First", "", NULL));
}
SkPdfDictionary* First() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "First", "", &ret)) return ret;
@ -556,6 +591,13 @@ public:
return NULL;
}
/** (Required if the item has any descendants; must be an indirect reference) The
* last of this item's immediate children in the outline hierarchy.
**/
bool has_Last() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Last", "", NULL));
}
SkPdfDictionary* Last() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Last", "", &ret)) return ret;
@ -563,6 +605,15 @@ public:
return NULL;
}
/** (Required if the item has any descendants) If the item is open, the total num-
* ber of its open descendants at all lower levels of the outline hierarchy. If the
* item is closed, a negative integer whose absolute value specifies how many
* descendants would appear if the item were reopened.
**/
bool has_Count() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Count", "", NULL));
}
long Count() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Count", "", &ret)) return ret;
@ -570,6 +621,14 @@ public:
return 0;
}
/** (Optional; not permitted if an A entry is present) The destination to be
* displayed when this item is activated (see Section 8.2.1, "Destinations"; see
* also implementation note 56 in Appendix H).
**/
bool has_Dest() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Dest", "", NULL));
}
bool isDestAName() const {
SkPdfObject* ret = NULL;
if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Dest", "", &ret)) return false;
@ -609,6 +668,13 @@ public:
return SkPdfArray();
}
/** (Optional; PDF 1.1; not permitted if a Dest entry is present) The action to be
* performed when this item is activated (see Section 8.5, "Actions").
**/
bool has_A() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "A", "", NULL));
}
SkPdfDictionary* A() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "A", "", &ret)) return ret;
@ -616,6 +682,18 @@ public:
return NULL;
}
/** (Optional; PDF 1.3; must be an indirect reference) The structure element to
* which the item refers (see Section 9.6.1, "Structure Hierarchy").
* Note: The ability to associate an outline item with a structure element (such as
* the beginning of a chapter) is a PDF 1.3 feature. For backward compatibility
* with earlier PDF versions, such an item should also specify a destination (Dest)
* corresponding to an area of a page where the contents of the designated structure
* element are displayed.
**/
bool has_SE() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SE", "", NULL));
}
SkPdfDictionary* SE() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SE", "", &ret)) return ret;
@ -623,6 +701,14 @@ public:
return NULL;
}
/** (Optional; PDF 1.4) An array of three numbers in the range 0.0 to 1.0, repre-
* senting the components in the DeviceRGB color space of the color to be used
* for the outline entry's text. Default value: [0.0 0.0 0.0].
**/
bool has_C() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "C", "", NULL));
}
SkPdfArray C() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "C", "", &ret)) return ret;
@ -630,6 +716,13 @@ public:
return SkPdfArray();
}
/** (Optional; PDF 1.4) A set of flags specifying style characteristics for display-
* ing the outline item's text (see Table 8.5). Default value: 0.
**/
bool has_F() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "F", "", NULL));
}
long F() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "F", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entries in a PDF/X output intent dictionary
class SkPdfPDF_XOutputIntentDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kPDF_XOutputIntentDictionary_SkPdfObjectType;}
@ -521,6 +522,13 @@ public:
SkPdfPDF_XOutputIntentDictionary& operator=(const SkPdfPDF_XOutputIntentDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Optional) The type of PDF object that this dictionary describes;
* if present, must be OutputIntent for an output intent dictionary.
**/
bool has_Type() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", NULL));
}
std::string Type() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
@ -528,6 +536,13 @@ public:
return "";
}
/** (Required) The output intent subtype; must be GTS_PDFX for a
* PDF/X output intent.
**/
bool has_S() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", NULL));
}
std::string S() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", &ret)) return ret;
@ -535,6 +550,15 @@ public:
return "";
}
/** (Optional) A text string concisely identifying the intended out-
* put device or production condition in human-readable form.
* This is the preferred method of defining such a string for pre-
* sentation to the user.
**/
bool has_OutputCondition() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "OutputCondition", "", NULL));
}
std::string OutputCondition() const {
std::string ret;
if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "OutputCondition", "", &ret)) return ret;
@ -542,6 +566,25 @@ public:
return "";
}
/** (Required) A string identifying the intended output device or
* production condition in human- or machine-readable form. If
* human-readable, this string may be used in lieu of an Output-
* Condition string for presentation to the user.
* A typical value for this entry would be the name of a production
* condition maintained in an industry-standard registry such as
* the ICC Characterization Data Registry (see the Bibliography). If
* the designated condition matches that in effect at production
* time, it is the responsibility of the production software to pro-
* vide the corresponding ICC profile as defined in the registry.
* If the intended production condition is not a recognized
* standard, the value Custom is recommended for this entry; the
* DestOutputProfile entry defines the ICC profile and the Info
* entry is used for further human-readable identification.
**/
bool has_OutputConditionIdentifier() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "OutputConditionIdentifier", "", NULL));
}
std::string OutputConditionIdentifier() const {
std::string ret;
if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "OutputConditionIdentifier", "", &ret)) return ret;
@ -549,6 +592,14 @@ public:
return "";
}
/** (Optional) A string (conventionally a uniform resource identifi-
* er, or URI) identifying the registry in which the condition desig-
* nated by OutputConditionIdentifier is defined.
**/
bool has_RegistryName() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "RegistryName", "", NULL));
}
std::string RegistryName() const {
std::string ret;
if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "RegistryName", "", &ret)) return ret;
@ -556,6 +607,15 @@ public:
return "";
}
/** (Required if OutputConditionIdentifier does not specify a standard
* production condition; optional otherwise) A human-readable text
* string containing additional information or comments about
* the intended target device or production condition.
**/
bool has_Info() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Info", "", NULL));
}
std::string Info() const {
std::string ret;
if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Info", "", &ret)) return ret;
@ -563,6 +623,23 @@ public:
return "";
}
/** (Required if OutputConditionIdentifier does not specify a standard
* production condition; optional otherwise) An ICC profile stream
* defining the transformation from the PDF document's source
* colors to output device colorants.
* The format of the profile stream is the same as that used in speci-
* fying an ICCBased color space (see "ICCBased Color Spaces" on
* page 189). The output transformation uses the profile's "from
* CIE" information (BToA in ICC terminology); the "to CIE"
* (AToB) information can optionally be used to remap source
* color values to some other destination color space, such as for
* screen preview or hardcopy proofing. (See implementation note
* 111 in Appendix H.)
**/
bool has_DestOutputProfile() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DestOutputProfile", "", NULL));
}
SkPdfStream DestOutputProfile() const {
SkPdfStream ret;
if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "DestOutputProfile", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Additional entries specific to a PostScript XObject dictionary
class SkPdfPSXobjectDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kPSXobjectDictionary_SkPdfObjectType;}
@ -521,6 +522,13 @@ public:
SkPdfPSXobjectDictionary& operator=(const SkPdfPSXobjectDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Optional) The type of PDF object that this dictionary describes; if present, must be
* XObject for a PostScript XObject.
**/
bool has_Type() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", NULL));
}
std::string Type() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
@ -528,6 +536,13 @@ public:
return "";
}
/** (Required) The type of XObject that this dictionary describes; must be PS for a
* PostScript XObject.
**/
bool has_Subtype() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", NULL));
}
std::string Subtype() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", &ret)) return ret;
@ -535,6 +550,14 @@ public:
return "";
}
/** (Optional) A stream whose contents are to be used in place of the PostScript
* XObject's stream when the target PostScript interpreter is known to support only
* LanguageLevel 1.
**/
bool has_Level1() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Level1", "", NULL));
}
SkPdfStream Level1() const {
SkPdfStream ret;
if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Level1", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entries in a page label dictionary
class SkPdfPageLabelDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kPageLabelDictionary_SkPdfObjectType;}
@ -521,6 +522,13 @@ public:
SkPdfPageLabelDictionary& operator=(const SkPdfPageLabelDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Optional) The type of PDF object that this dictionary describes; if present, must be
* PageLabel for a page label dictionary.
**/
bool has_Type() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", NULL));
}
std::string Type() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
@ -528,6 +536,21 @@ public:
return "";
}
/** (Optional) The numbering style to be used for the numeric portion of each page label:
* D Decimal arabic numerals
* R Uppercase roman numerals
* r Lowercase roman numerals
* A Uppercase letters (A to Z for the first 26 pages, AA to ZZ for the next 26, and so on)
* a Lowercase letters (a to z for the first 26 pages, aa to zz for the next 26, and so on)
* There is no default numbering style; if no S entry is present, page labels will consist solely
* of a label prefix with no numeric portion. For example, if the P entry (below) specifies the
* label prefix Contents, each page will simply be labeled Contents with no page number. (If
* the P entry is also missing or empty, the page label will be an empty string.)
**/
bool has_S() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", NULL));
}
std::string S() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "S", "", &ret)) return ret;
@ -535,6 +558,12 @@ public:
return "";
}
/** (Optional) The label prefix for page labels in this range.
**/
bool has_P() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "P", "", NULL));
}
std::string P() const {
std::string ret;
if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "P", "", &ret)) return ret;
@ -542,6 +571,14 @@ public:
return "";
}
/** (Optional) The value of the numeric portion for the first page label in the range. Sub-
* sequent pages will be numbered sequentially from this value, which must be greater than
* or equal to 1. Default value: 1.
**/
bool has_St() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "St", "", NULL));
}
long St() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "St", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entries in a page object's additional-actions dictionary
class SkPdfPageObjectActionsDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kPageObjectActionsDictionary_SkPdfObjectType;}
@ -521,6 +522,16 @@ public:
SkPdfPageObjectActionsDictionary& operator=(const SkPdfPageObjectActionsDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Optional; PDF 1.2) An action to be performed when the page is opened (for example,
* when the user navigates to it from the next or previous page or via a link annotation or
* outline item). This action is independent of any that may be defined by the Open-
* Action entry in the document catalog (see Section 3.6.1, "Document Catalog"), and is
* executed after such an action. (See implementation note 72 in Appendix H.)
**/
bool has_O() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "O", "", NULL));
}
SkPdfDictionary* O() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "O", "", &ret)) return ret;
@ -528,6 +539,15 @@ public:
return NULL;
}
/** (Optional; PDF 1.2) An action to be performed when the page is closed (for example,
* when the user navigates to the next or previous page or follows a link annotation or an
* outline item). This action applies to the page being closed, and is executed before any
* other page is opened. (See implementation note 72 in Appendix H.)
**/
bool has_C() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "C", "", NULL));
}
SkPdfDictionary* C() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "C", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entries in a page object
class SkPdfPageObjectDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kPageObjectDictionary_SkPdfObjectType;}
@ -521,6 +522,13 @@ public:
SkPdfPageObjectDictionary& operator=(const SkPdfPageObjectDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Required) The type of PDF object that this dictionary describes; must be
* Page for a page object.
**/
bool has_Type() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", NULL));
}
std::string Type() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
@ -528,6 +536,13 @@ public:
return "";
}
/** (Required; must be an indirect reference) The page tree node that is the im-
* mediate parent of this page object.
**/
bool has_Parent() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Parent", "", NULL));
}
SkPdfDictionary* Parent() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Parent", "", &ret)) return ret;
@ -535,6 +550,17 @@ public:
return NULL;
}
/** (Required if PieceInfo is present; optional otherwise; PDF 1.3) The date and
* time (see Section 3.8.2, "Dates") when the page's contents were most re-
* cently modified. If a page-piece dictionary (PieceInfo) is present, the
* modification date is used to ascertain which of the application data dic-
* tionaries that it contains correspond to the current content of the page
* (see Section 9.4, "Page-Piece Dictionaries").
**/
bool has_LastModified() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "LastModified", "", NULL));
}
SkPdfDate LastModified() const {
SkPdfDate ret;
if (DateFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "LastModified", "", &ret)) return ret;
@ -542,6 +568,16 @@ public:
return SkPdfDate();
}
/** (Required; inheritable) A dictionary containing any resources required by
* the page (see Section 3.7.2, "Resource Dictionaries"). If the page requires
* no resources, the value of this entry should be an empty dictionary; omit-
* ting the entry entirely indicates that the resources are to be inherited from
* an ancestor node in the page tree.
**/
bool has_Resources() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Resources", "", NULL));
}
SkPdfDictionary* Resources() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Resources", "", &ret)) return ret;
@ -549,6 +585,15 @@ public:
return NULL;
}
/** (Required; inheritable) A rectangle (see Section 3.8.3, "Rectangles"), ex-
* pressed in default user space units, defining the boundaries of the physical
* medium on which the page is intended to be displayed or printed (see
* Section 9.10.1, "Page Boundaries").
**/
bool has_MediaBox() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "MediaBox", "", NULL));
}
SkRect MediaBox() const {
SkRect ret;
if (SkRectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "MediaBox", "", &ret)) return ret;
@ -556,6 +601,17 @@ public:
return SkRect();
}
/** (Optional; inheritable) A rectangle, expressed in default user space units,
* defining the visible region of default user space. When the page is dis-
* played or printed, its contents are to be clipped (cropped) to this rectangle
* and then imposed on the output medium in some implementation-
* defined manner (see Section 9.10.1, "Page Boundaries"). Default value:
* the value of MediaBox.
**/
bool has_CropBox() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CropBox", "", NULL));
}
SkRect CropBox() const {
SkRect ret;
if (SkRectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CropBox", "", &ret)) return ret;
@ -563,6 +619,15 @@ public:
return SkRect();
}
/** (Optional; PDF 1.3) A rectangle, expressed in default user space units, de-
* fining the region to which the contents of the page should be clipped
* when output in a production environment (see Section 9.10.1, "Page
* Boundaries"). Default value: the value of CropBox.
**/
bool has_BleedBox() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BleedBox", "", NULL));
}
SkRect BleedBox() const {
SkRect ret;
if (SkRectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BleedBox", "", &ret)) return ret;
@ -570,6 +635,14 @@ public:
return SkRect();
}
/** (Optional; PDF 1.3) A rectangle, expressed in default user space units, de-
* fining the intended dimensions of the finished page after trimming (see
* Section 9.10.1, "Page Boundaries"). Default value: the value of CropBox.
**/
bool has_TrimBox() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TrimBox", "", NULL));
}
SkRect TrimBox() const {
SkRect ret;
if (SkRectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "TrimBox", "", &ret)) return ret;
@ -577,6 +650,15 @@ public:
return SkRect();
}
/** (Optional; PDF 1.3) A rectangle, expressed in default user space units, de-
* fining the extent of the page's meaningful content (including potential
* white space) as intended by the page's creator (see Section 9.10.1, "Page
* Boundaries"). Default value: the value of CropBox.
**/
bool has_ArtBox() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ArtBox", "", NULL));
}
SkRect ArtBox() const {
SkRect ret;
if (SkRectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ArtBox", "", &ret)) return ret;
@ -584,6 +666,16 @@ public:
return SkRect();
}
/** (Optional) A box color information dictionary specifying the colors and
* other visual characteristics to be used in displaying guidelines on the
* screen for the various page boundaries (see "Display of Page Boundaries"
* on page 679). If this entry is absent, the viewer application should use its
* own current default settings.
**/
bool has_BoxColorInfo() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BoxColorInfo", "", NULL));
}
SkPdfDictionary* BoxColorInfo() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BoxColorInfo", "", &ret)) return ret;
@ -591,6 +683,23 @@ public:
return NULL;
}
/** (Optional) A content stream (see Section 3.7.1, "Content Streams") de-
* scribing the contents of this page. If this entry is absent, the page is empty.
* The value may be either a single stream or an array of streams. If it is an
* array, the effect is as if all of the streams in the array were concatenated, in
* order, to form a single stream. This allows a program generating a PDF
* file to create image objects and other resources as they occur, even though
* they interrupt the content stream. The division between streams may
* occur only at the boundaries between lexical tokens (see Section 3.1, "Lex-
* ical Conventions"), but is unrelated to the page's logical content or orga-
* nization. Applications that consume or produce PDF files are not required
* to preserve the existing structure of the Contents array. (See implementa-
* tion note 22 in Appendix H.)
**/
bool has_Contents() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Contents", "", NULL));
}
bool isContentsAStream() const {
SkPdfObject* ret = NULL;
if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Contents", "", &ret)) return false;
@ -617,6 +726,14 @@ public:
return SkPdfArray();
}
/** (Optional; inheritable) The number of degrees by which the page should
* be rotated clockwise when displayed or printed. The value must be a mul-
* tiple of 90. Default value: 0.
**/
bool has_Rotate() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Rotate", "", NULL));
}
long Rotate() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Rotate", "", &ret)) return ret;
@ -624,6 +741,14 @@ public:
return 0;
}
/** (Optional; PDF 1.4) A group attributes dictionary specifying the attributes
* of the page's page group for use in the transparent imaging model (see
* Sections 7.3.6, "Page Group," and 7.5.5, "Transparency Group XObjects").
**/
bool has_Group() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Group", "", NULL));
}
SkPdfDictionary* Group() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Group", "", &ret)) return ret;
@ -631,6 +756,13 @@ public:
return NULL;
}
/** (Optional) A stream object defining the page's thumbnail image (see Sec-
* tion 8.2.3, "Thumbnail Images").
**/
bool has_Thumb() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Thumb", "", NULL));
}
SkPdfStream Thumb() const {
SkPdfStream ret;
if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Thumb", "", &ret)) return ret;
@ -638,6 +770,15 @@ public:
return SkPdfStream();
}
/** (Optional; PDF 1.1; recommended if the page contains article beads) An ar-
* ray of indirect references to article beads appearing on the page (see Sec-
* tion 8.3.2, "Articles"; see also implementation note 23 in Appendix H).
* The beads are listed in the array in natural reading order.
**/
bool has_B() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "B", "", NULL));
}
SkPdfArray B() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "B", "", &ret)) return ret;
@ -645,6 +786,16 @@ public:
return SkPdfArray();
}
/** (Optional; PDF 1.1) The page's display duration (also called its advance
* timing): the maximum length of time, in seconds, that the page will be
* displayed during presentations before the viewer application automati-
* cally advances to the next page (see Section 8.3.3, "Presentations"). By
* default, the viewer does not advance automatically.
**/
bool has_Dur() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Dur", "", NULL));
}
double Dur() const {
double ret;
if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Dur", "", &ret)) return ret;
@ -652,6 +803,14 @@ public:
return 0;
}
/** (Optional; PDF 1.1) A transition dictionary describing the transition effect
* to be used when displaying the page during presentations (see Section
* 8.3.3, "Presentations").
**/
bool has_Trans() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Trans", "", NULL));
}
SkPdfDictionary* Trans() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Trans", "", &ret)) return ret;
@ -659,6 +818,13 @@ public:
return NULL;
}
/** (Optional) An array of annotation dictionaries representing annotations
* associated with the page (see Section 8.4, "Annotations").
**/
bool has_Annots() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Annots", "", NULL));
}
SkPdfArray Annots() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Annots", "", &ret)) return ret;
@ -666,6 +832,14 @@ public:
return SkPdfArray();
}
/** (Optional; PDF 1.2) An additional-actions dictionary defining actions to
* be performed when the page is opened or closed (see Section 8.5.2, "Trig-
* ger Events"; see also implementation note 24 in Appendix H).
**/
bool has_AA() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AA", "", NULL));
}
SkPdfDictionary* AA() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "AA", "", &ret)) return ret;
@ -673,6 +847,13 @@ public:
return NULL;
}
/** (Optional; PDF 1.4) A metadata stream containing metadata for the page
* (see Section 9.2.2, "Metadata Streams").
**/
bool has_Metadata() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Metadata", "", NULL));
}
SkPdfStream Metadata() const {
SkPdfStream ret;
if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Metadata", "", &ret)) return ret;
@ -680,6 +861,13 @@ public:
return SkPdfStream();
}
/** (Optional; PDF 1.3) A page-piece dictionary associated with the page (see
* Section 9.4, "Page-Piece Dictionaries").
**/
bool has_PieceInfo() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "PieceInfo", "", NULL));
}
SkPdfDictionary* PieceInfo() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "PieceInfo", "", &ret)) return ret;
@ -687,6 +875,14 @@ public:
return NULL;
}
/** (Required if the page contains structural content items; PDF 1.3) The inte-
* ger key of the page's entry in the structural parent tree (see "Finding Struc-
* ture Elements from Content Items" on page 600).
**/
bool has_StructParents() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "StructParents", "", NULL));
}
long StructParents() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "StructParents", "", &ret)) return ret;
@ -694,6 +890,14 @@ public:
return 0;
}
/** (Optional; PDF 1.3; indirect reference preferred) The digital identifier of the
* page's parent Web Capture content set (see Section 9.9.5, "Object At-
* tributes Related to Web Capture").
**/
bool has_ID() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ID", "", NULL));
}
std::string ID() const {
std::string ret;
if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ID", "", &ret)) return ret;
@ -701,6 +905,14 @@ public:
return "";
}
/** (Optional; PDF 1.3) The page's preferred zoom (magnification) factor: the
* factor by which it should be scaled to achieve the "natural" display magni-
* fication (see Section 9.9.5, "Object Attributes Related to Web Capture").
**/
bool has_PZ() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "PZ", "", NULL));
}
double PZ() const {
double ret;
if (DoubleFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "PZ", "", &ret)) return ret;
@ -708,6 +920,14 @@ public:
return 0;
}
/** (Optional; PDF 1.3) A separation dictionary containing information need-
* ed to generate color separations for the page (see Section 9.10.3, "Separa-
* tion Dictionaries").
**/
bool has_SeparationInfo() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SeparationInfo", "", NULL));
}
SkPdfDictionary* SeparationInfo() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "SeparationInfo", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Entries in a page-piece dictionary
class SkPdfPagePieceDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kPagePieceDictionary_SkPdfObjectType;}
@ -521,10 +522,13 @@ public:
SkPdfPagePieceDictionary& operator=(const SkPdfPagePieceDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** ()An application data dictionary (see Table 9.7).
**/
/*
bool has_[any_application_name_or_well_known_data_type]() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "[any_application_name_or_well_known_data_type]", "", NULL));
}
SkPdfDictionary* [any_application_name_or_well_known_data_type]() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "[any_application_name_or_well_known_data_type]", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Required entries in a page tree node
class SkPdfPageTreeNodeDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kPageTreeNodeDictionary_SkPdfObjectType;}
@ -521,6 +522,13 @@ public:
SkPdfPageTreeNodeDictionary& operator=(const SkPdfPageTreeNodeDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Required) The type of PDF object that this dictionary describes; must be Pages for
* a page tree node.
**/
bool has_Type() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", NULL));
}
std::string Type() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
@ -528,6 +536,13 @@ public:
return "";
}
/** (Required except in root node; must be an indirect reference) The page tree node that
* is the immediate parent of this one.
**/
bool has_Parent() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Parent", "", NULL));
}
SkPdfDictionary* Parent() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Parent", "", &ret)) return ret;
@ -535,6 +550,13 @@ public:
return NULL;
}
/** (Required) An array of indirect references to the immediate children of this node.
* The children may be page objects or other page tree nodes.
**/
bool has_Kids() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Kids", "", NULL));
}
SkPdfArray Kids() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Kids", "", &ret)) return ret;
@ -542,6 +564,13 @@ public:
return SkPdfArray();
}
/** (Required) The number of leaf nodes (page objects) that are descendants of this
* node within the page tree.
**/
bool has_Count() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Count", "", NULL));
}
long Count() const {
long ret;
if (LongFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Count", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Additional entries specific to a pop-up annotation
class SkPdfPopUpAnnotationDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kPopUpAnnotationDictionary_SkPdfObjectType;}
@ -521,6 +522,13 @@ public:
SkPdfPopUpAnnotationDictionary& operator=(const SkPdfPopUpAnnotationDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Required) The type of annotation that this dictionary describes; must be
* Popup for a pop-up annotation.
**/
bool has_Subtype() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", NULL));
}
std::string Subtype() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", &ret)) return ret;
@ -528,6 +536,15 @@ public:
return "";
}
/** (Optional; PDF 1.4) An alternate representation of the annotation's contents
* in human-readable form, useful when extracting the document's contents in
* support of accessibility to disabled users or for other purposes (see Section
* 9.8.2, "Alternate Descriptions").
**/
bool has_Contents() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Contents", "", NULL));
}
std::string Contents() const {
std::string ret;
if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Contents", "", &ret)) return ret;
@ -535,6 +552,16 @@ public:
return "";
}
/** (Optional; must be an indirect reference) The parent annotation with which
* this pop-up annotation is associated.
* Note: If this entry is present, the parent annotation's Contents, M, C, and T
* entries (see Table 8.10 on page 490) override those of the pop-up annotation
* itself.
**/
bool has_Parent() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Parent", "", NULL));
}
SkPdfDictionary* Parent() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Parent", "", &ret)) return ret;
@ -542,6 +569,13 @@ public:
return NULL;
}
/** (Optional) A flag specifying whether the pop-up annotation should initially
* be displayed open. Default value: false (closed).
**/
bool has_Open() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Open", "", NULL));
}
bool Open() const {
bool ret;
if (BoolFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Open", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Additional entries specific to a printer's mark annotation
class SkPdfPrinterMarkAnnotationDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kPrinterMarkAnnotationDictionary_SkPdfObjectType;}
@ -521,6 +522,13 @@ public:
SkPdfPrinterMarkAnnotationDictionary& operator=(const SkPdfPrinterMarkAnnotationDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Required) The type of annotation that this dictionary describes; must be Printer-
* Mark for a printer's mark annotation.
**/
bool has_Subtype() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", NULL));
}
std::string Subtype() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", "", &ret)) return ret;
@ -528,6 +536,13 @@ public:
return "";
}
/** (Optional) An arbitrary name identifying the type of printer's mark, such as Color-
* Bar or RegistrationTarget.
**/
bool has_MN() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "MN", "", NULL));
}
std::string MN() const {
std::string ret;
if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "MN", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Additional entries specific to a printer's mark form dictionary
class SkPdfPrinterMarkFormDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kPrinterMarkFormDictionary_SkPdfObjectType;}
@ -521,6 +522,13 @@ public:
SkPdfPrinterMarkFormDictionary& operator=(const SkPdfPrinterMarkFormDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Optional; PDF 1.4) A text string representing the printer's mark in
* human-readable form, suitable for presentation to the user on the screen.
**/
bool has_MarkStyle() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "MarkStyle", "", NULL));
}
std::string MarkStyle() const {
std::string ret;
if (StringFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "MarkStyle", "", &ret)) return ret;
@ -528,6 +536,17 @@ public:
return "";
}
/** (Optional; PDF 1.4) A dictionary identifying the individual colorants
* associated with a printer's mark such as a color bar. For each entry in this
* dictionary, the key is a colorant name and the value is an array defining a
* Separation color space for that colorant (see "Separation Color Spaces"
* on page 201). The key must match the colorant name given in that color
* space.
**/
bool has_Colorants() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Colorants", "", NULL));
}
SkPdfDictionary* Colorants() const {
SkPdfDictionary* ret;
if (DictionaryFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Colorants", "", &ret)) return ret;

View File

@ -5,6 +5,7 @@
#include "SkPdfArray_autogen.h"
#include "SkPdfDictionary_autogen.h"
// Additional entry specific to a radio button field
class SkPdfRadioButtonFieldDictionary : public SkPdfDictionary {
public:
virtual SkPdfObjectType getType() const { return kRadioButtonFieldDictionary_SkPdfObjectType;}
@ -521,6 +522,16 @@ public:
SkPdfRadioButtonFieldDictionary& operator=(const SkPdfRadioButtonFieldDictionary& from) {this->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *this;}
/** (Optional; inheritable; PDF 1.4) An array of text strings to be used in
* place of the V entries for the values of the widget annotations repre-
* senting the individual radio buttons. Each element in the array repre-
* sents the export value of the corresponding widget annotation in the
* Kids array of the radio button field.
**/
bool has_Opt() const {
return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Opt", "", NULL));
}
SkPdfArray Opt() const {
SkPdfArray ret;
if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Opt", "", &ret)) return ret;

Some files were not shown because too many files have changed in this diff Show More