Module: Pdfrb::Model::Type
- Defined in:
- lib/pdfrb/model/type.rb,
lib/pdfrb/model/type/lab.rb,
lib/pdfrb/model/type/font.rb,
lib/pdfrb/model/type/info.rb,
lib/pdfrb/model/type/page.rb,
lib/pdfrb/model/type/movie.rb,
lib/pdfrb/model/type/names.rb,
lib/pdfrb/model/type/sound.rb,
lib/pdfrb/model/type/action.rb,
lib/pdfrb/model/type/button.rb,
lib/pdfrb/model/type/choice.rb,
lib/pdfrb/model/type/cal_rgb.rb,
lib/pdfrb/model/type/catalog.rb,
lib/pdfrb/model/type/indexed.rb,
lib/pdfrb/model/type/measure.rb,
lib/pdfrb/model/type/outline.rb,
lib/pdfrb/model/type/pattern.rb,
lib/pdfrb/model/type/cal_gray.rb,
lib/pdfrb/model/type/cid_font.rb,
lib/pdfrb/model/type/device_n.rb,
lib/pdfrb/model/type/function.rb,
lib/pdfrb/model/type/halftone.rb,
lib/pdfrb/model/type/icon_fit.rb,
lib/pdfrb/model/type/mdp_dict.rb,
lib/pdfrb/model/type/metadata.rb,
lib/pdfrb/model/type/uri_dict.rb,
lib/pdfrb/model/type/box_style.rb,
lib/pdfrb/model/type/font_file.rb,
lib/pdfrb/model/type/namespace.rb,
lib/pdfrb/model/type/rendition.rb,
lib/pdfrb/model/type/resources.rb,
lib/pdfrb/model/type/signature.rb,
lib/pdfrb/model/type/url_alias.rb,
lib/pdfrb/model/type/action_nop.rb,
lib/pdfrb/model/type/action_uri.rb,
lib/pdfrb/model/type/annotation.rb,
lib/pdfrb/model/type/appearance.rb,
lib/pdfrb/model/type/collection.rb,
lib/pdfrb/model/type/font_file2.rb,
lib/pdfrb/model/type/font_file3.rb,
lib/pdfrb/model/type/font_type0.rb,
lib/pdfrb/model/type/font_type1.rb,
lib/pdfrb/model/type/font_type3.rb,
lib/pdfrb/model/type/form_field.rb,
lib/pdfrb/model/type/media_clip.rb,
lib/pdfrb/model/type/page_label.rb,
lib/pdfrb/model/type/separation.rb,
lib/pdfrb/model/type/text_field.rb,
lib/pdfrb/model/type/transition.rb,
lib/pdfrb/model/type/action_goto.rb,
lib/pdfrb/model/type/action_hide.rb,
lib/pdfrb/model/type/struct_elem.rb,
lib/pdfrb/model/type/xref_stream.rb,
lib/pdfrb/model/type/action_movie.rb,
lib/pdfrb/model/type/action_named.rb,
lib/pdfrb/model/type/action_trans.rb,
lib/pdfrb/model/type/crypt_filter.rb,
lib/pdfrb/model/type/file_spec_ef.rb,
lib/pdfrb/model/type/file_spec_rf.rb,
lib/pdfrb/model/type/file_trailer.rb,
lib/pdfrb/model/type/media_offset.rb,
lib/pdfrb/model/type/misc_helpers.rb,
lib/pdfrb/model/type/outline_item.rb,
lib/pdfrb/model/type/three_d_node.rb,
lib/pdfrb/model/type/three_d_view.rb,
lib/pdfrb/model/type/xobject_form.rb,
lib/pdfrb/model/type/action_launch.rb,
lib/pdfrb/model/type/action_thread.rb,
lib/pdfrb/model/type/border_effect.rb,
lib/pdfrb/model/type/embedded_file.rb,
lib/pdfrb/model/type/font_encoding.rb,
lib/pdfrb/model/type/jbig2_globals.rb,
lib/pdfrb/model/type/object_stream.rb,
lib/pdfrb/model/type/output_intent.rb,
lib/pdfrb/model/type/square_circle.rb,
lib/pdfrb/model/type/three_d_units.rb,
lib/pdfrb/model/type/xobject_image.rb,
lib/pdfrb/model/type/action_go_to_r.rb,
lib/pdfrb/model/type/border_styling.rb,
lib/pdfrb/model/type/box_color_info.rb,
lib/pdfrb/model/type/font_cid_type0.rb,
lib/pdfrb/model/type/font_cid_type2.rb,
lib/pdfrb/model/type/font_true_type.rb,
lib/pdfrb/model/type/halftone_type1.rb,
lib/pdfrb/model/type/halftone_type5.rb,
lib/pdfrb/model/type/halftone_type6.rb,
lib/pdfrb/model/type/ink_annotation.rb,
lib/pdfrb/model/type/interior_color.rb,
lib/pdfrb/model/type/page_tree_node.rb,
lib/pdfrb/model/type/pattern_tiling.rb,
lib/pdfrb/model/type/sig_field_lock.rb,
lib/pdfrb/model/type/three_d_stream.rb,
lib/pdfrb/model/type/action_go_to_dp.rb,
lib/pdfrb/model/type/cid_system_info.rb,
lib/pdfrb/model/type/collection_item.rb,
lib/pdfrb/model/type/collection_sort.rb,
lib/pdfrb/model/type/font_descriptor.rb,
lib/pdfrb/model/type/halftone_type10.rb,
lib/pdfrb/model/type/halftone_type16.rb,
lib/pdfrb/model/type/line_annotation.rb,
lib/pdfrb/model/type/link_annotation.rb,
lib/pdfrb/model/type/link_appearance.rb,
lib/pdfrb/model/type/opt_content_ext.rb,
lib/pdfrb/model/type/pattern_shading.rb,
lib/pdfrb/model/type/signature_build.rb,
lib/pdfrb/model/type/signature_field.rb,
lib/pdfrb/model/type/text_annotation.rb,
lib/pdfrb/model/type/text_appearance.rb,
lib/pdfrb/model/type/three_d_measure.rb,
lib/pdfrb/model/type/action_rendition.rb,
lib/pdfrb/model/type/action_set_state.rb,
lib/pdfrb/model/type/af_embedded_file.rb,
lib/pdfrb/model/type/caret_annotation.rb,
lib/pdfrb/model/type/collection_field.rb,
lib/pdfrb/model/type/device_n_process.rb,
lib/pdfrb/model/type/function_sampled.rb,
lib/pdfrb/model/type/interactive_form.rb,
lib/pdfrb/model/type/mark_information.rb,
lib/pdfrb/model/type/object_reference.rb,
lib/pdfrb/model/type/polygon_polyline.rb,
lib/pdfrb/model/type/popup_annotation.rb,
lib/pdfrb/model/type/sound_annotation.rb,
lib/pdfrb/model/type/stamp_annotation.rb,
lib/pdfrb/model/type/struct_tree_root.rb,
lib/pdfrb/model/type/action_reset_form.rb,
lib/pdfrb/model/type/circle_annotation.rb,
lib/pdfrb/model/type/collection_schema.rb,
lib/pdfrb/model/type/markup_annotation.rb,
lib/pdfrb/model/type/redact_annotation.rb,
lib/pdfrb/model/type/rich_media_window.rb,
lib/pdfrb/model/type/screen_annotation.rb,
lib/pdfrb/model/type/square_annotation.rb,
lib/pdfrb/model/type/three_d_reference.rb,
lib/pdfrb/model/type/widget_annotation.rb,
lib/pdfrb/model/type/widget_appearance.rb,
lib/pdfrb/model/type/action_import_data.rb,
lib/pdfrb/model/type/action_java_script.rb,
lib/pdfrb/model/type/action_submit_form.rb,
lib/pdfrb/model/type/file_specification.rb,
lib/pdfrb/model/type/function_stitching.rb,
lib/pdfrb/model/type/generic_appearance.rb,
lib/pdfrb/model/type/polygon_annotation.rb,
lib/pdfrb/model/type/rich_media_command.rb,
lib/pdfrb/model/type/rich_media_content.rb,
lib/pdfrb/model/type/three_d_activation.rb,
lib/pdfrb/model/type/three_d_background.rb,
lib/pdfrb/model/type/viewer_preferences.rb,
lib/pdfrb/model/type/action_sound_action.rb,
lib/pdfrb/model/type/appearance_trap_net.rb,
lib/pdfrb/model/type/encryption_standard.rb,
lib/pdfrb/model/type/function_postscript.rb,
lib/pdfrb/model/type/line_ending_styling.rb,
lib/pdfrb/model/type/page_tree_node_root.rb,
lib/pdfrb/model/type/polyline_annotation.rb,
lib/pdfrb/model/type/rich_media_instance.rb,
lib/pdfrb/model/type/rich_media_settings.rb,
lib/pdfrb/model/type/software_identifier.rb,
lib/pdfrb/model/type/squiggly_annotation.rb,
lib/pdfrb/model/type/three_d_measure_3dc.rb,
lib/pdfrb/model/type/three_d_measure_ad3.rb,
lib/pdfrb/model/type/three_d_measure_ld3.rb,
lib/pdfrb/model/type/three_d_measure_pd3.rb,
lib/pdfrb/model/type/three_d_measure_rd3.rb,
lib/pdfrb/model/type/three_d_render_mode.rb,
lib/pdfrb/model/type/variable_text_field.rb,
lib/pdfrb/model/type/action_go_to_3d_view.rb,
lib/pdfrb/model/type/action_set_ocg_state.rb,
lib/pdfrb/model/type/appearance_generator.rb,
lib/pdfrb/model/type/font_multiple_master.rb,
lib/pdfrb/model/type/free_text_annotation.rb,
lib/pdfrb/model/type/function_exponential.rb,
lib/pdfrb/model/type/highlight_annotation.rb,
lib/pdfrb/model/type/rich_media_animation.rb,
lib/pdfrb/model/type/rich_media_cue_point.rb,
lib/pdfrb/model/type/sig_field_seed_value.rb,
lib/pdfrb/model/type/strikeout_annotation.rb,
lib/pdfrb/model/type/structure_attributes.rb,
lib/pdfrb/model/type/underline_annotation.rb,
lib/pdfrb/model/type/watermark_annotation.rb,
lib/pdfrb/model/type/af_file_specification.rb,
lib/pdfrb/model/type/device_n_mixing_hints.rb,
lib/pdfrb/model/type/encryption_public_key.rb,
lib/pdfrb/model/type/icc_based_color_space.rb,
lib/pdfrb/model/type/rich_media_activation.rb,
lib/pdfrb/model/type/rich_media_annotation.rb,
lib/pdfrb/model/type/structure_element_kid.rb,
lib/pdfrb/model/type/three_d_cross_section.rb,
lib/pdfrb/model/type/optional_content_group.rb,
lib/pdfrb/model/type/text_markup_annotation.rb,
lib/pdfrb/model/type/to_unicode_cmap_stream.rb,
lib/pdfrb/model/type/document_security_store.rb,
lib/pdfrb/model/type/embedded_file_parameter.rb,
lib/pdfrb/model/type/optional_content_config.rb,
lib/pdfrb/model/type/printer_mark_annotation.rb,
lib/pdfrb/model/type/rich_media_deactivation.rb,
lib/pdfrb/model/type/rich_media_presentation.rb,
lib/pdfrb/model/type/three_d_animation_style.rb,
lib/pdfrb/model/type/three_d_lighting_scheme.rb,
lib/pdfrb/model/type/ur_transform_parameters.rb,
lib/pdfrb/model/type/graphics_state_parameter.rb,
lib/pdfrb/model/type/marked_content_reference.rb,
lib/pdfrb/model/type/opt_content_page_element.rb,
lib/pdfrb/model/type/rich_media_configuration.rb,
lib/pdfrb/model/type/action_rich_media_execute.rb,
lib/pdfrb/model/type/font_descriptor_cid_type0.rb,
lib/pdfrb/model/type/font_descriptor_cid_type2.rb,
lib/pdfrb/model/type/appearance_characteristics.rb,
lib/pdfrb/model/type/file_attachment_annotation.rb,
lib/pdfrb/model/type/cid_font_descriptor_metrics.rb,
lib/pdfrb/model/type/optional_content_membership.rb,
lib/pdfrb/model/type/optional_content_properties.rb,
lib/pdfrb/model/type/doc_mdp_transform_parameters.rb,
lib/pdfrb/model/type/field_mdp_transform_parameters.rb
Overview
Semantic PDF types — one subclass per Arlington TSV. Each class
declares arlington_object "Name" and gets its field metadata
auto-loaded from the vendored TSVs at first access.
The arlington_registry maps TSV name -> Type subclass so other
Types' field-link resolution can find concrete classes.
Adding a new PDF type = adding one subclass that calls
arlington_object "TSVName". Open/closed: no switch edits.
Defined Under Namespace
Classes: AFEmbeddedFile, AFFileSpecification, Action, ActionGoTo, ActionGoTo3DView, ActionGoToDp, ActionGoToR, ActionHide, ActionImportData, ActionJavaScript, ActionLaunch, ActionMovie, ActionNOP, ActionNamed, ActionRendition, ActionResetForm, ActionRichMediaExecute, ActionSetOCGState, ActionSetState, ActionSoundAction, ActionSubmitForm, ActionThread, ActionTrans, ActionURI, Annotation, AnnotationProjectionDict, Appearance, AppearanceCharacteristics, AppearanceGenerator, AppearanceSubDict, AppearanceTrapNet, AppearanceTrapNetSubDict, BorderArray, BorderEffect, BorderStyling, BoxColorInfo, BoxStyle, Button, CIDFont, CIDFontDescriptorMetrics, CIDSystemInfo, CMapStream, CalGray, CalRGB, CaretAnnotation, Catalog, CharProcMap, Choice, CircleAnnotation, Collection, CollectionField, CollectionItem, CollectionSchema, CollectionSort, CryptFilter, CryptFilterMap, CryptFilterPublicKey, CryptFilterPublicKeyMap, DestOutputProfileRef, DeviceN, DeviceNMixingHints, DeviceNProcess, DocMDPTransformParameters, DocumentSecurityStore, EmbeddedFile, EmbeddedFileParameter, EncryptionPublicKey, EncryptionStandard, ExData3DMarkup, ExDataMarkupGeo, ExDataProjection, Field, FieldMDPTransformParameters, FileAttachmentAnnotation, FileSpecEF, FileSpecRF, FileSpecification, FileTrailer, Font, FontCIDType0, FontCIDType2, FontDescriptor, FontDescriptorCIDType0, FontDescriptorCIDType2, FontEncoding, FontFile, FontFile2, FontFile3, FontMultipleMaster, FontTrueType, FontType0, FontType1, FontType3, FreeTextAnnotation, Function, FunctionExponential, FunctionPostScript, FunctionSampled, FunctionStitching, GenericAppearance, GraphicsStateParameter, Halftone, HalftoneType1, HalftoneType10, HalftoneType16, HalftoneType5, HalftoneType6, HighlightAnnotation, ICCBasedColorSpace, IconFit, Indexed, Info, InkAnnotation, InteractiveForm, InteriorColor, JBIG2Globals, Lab, LabRangeArray, LineAnnotation, LineEndingStyling, LinkAnnotation, LinkAppearance, MDPDict, MarkInformation, MarkedContentReference, MarkupAnnotation, Measure, MediaClip, MediaCriteria, MediaOffsetFrame, MediaOffsetMarker, MediaOffsetTime, MediaPlayerInfo, MediaPlayers, MediaScreenParameters, Metadata, Movie, Names, Namespace, ObjectReference, ObjectStream, OptContentCreatorInfo, OptContentExport, OptContentLanguage, OptContentPageElement, OptContentPrint, OptContentUsageApplication, OptContentView, OptionalContentConfiguration, OptionalContentGroup, OptionalContentMembership, OptionalContentProperties, Outline, OutlineItem, OutputIntent, OutputIntentsContainer, Page, PageLabel, PageTreeNode, PageTreeNodeRoot, Pattern, PatternShading, PatternTiling, PolygonAnnotation, PolygonPolyline, PolylineAnnotation, PopupAnnotation, PrinterMarkAnnotation, PrinterMarkSubDict, RedactAnnotation, Rendition, Resources, RichMediaActivation, RichMediaAnimation, RichMediaAnnotation, RichMediaCommand, RichMediaConfiguration, RichMediaContent, RichMediaCuePoint, RichMediaDeactivation, RichMediaInstance, RichMediaPresentation, RichMediaSettings, RichMediaWindow, ScreenAnnotation, Separation, SigFieldLock, SigFieldSeedValue, Signature, SignatureBuildDataAppDict, SignatureBuildDataDict, SignatureBuildDataSigQDict, SignatureBuildPropDict, SignatureField, SignatureReferenceDocMDP, SignatureReferenceFieldMDP, SignatureReferenceIdentity, SignatureReferenceUR, SoftwareIdentifier, Sound, SoundAnnotation, SquareAnnotation, SquareCircle, SquigglyAnnotation, StampAnnotation, StrikeOutAnnotation, StructElem, StructTreeRoot, StructureAttributes, StructureElementKid, TextAnnotation, TextAppearance, TextField, TextMarkupAnnotation, ThreeDActivation, ThreeDAnimationStyle, ThreeDBackground, ThreeDCrossSection, ThreeDLightingScheme, ThreeDMeasure, ThreeDMeasure3DC, ThreeDMeasureAD3, ThreeDMeasureLD3, ThreeDMeasurePD3, ThreeDMeasureRD3, ThreeDNode, ThreeDReference, ThreeDRenderMode, ThreeDStream, ThreeDUnits, ThreeDView, ToUnicodeCMapStream, Transition, URIDict, URLAlias, URTransformParameters, UnderlineAnnotation, VariableTextField, ViewerPreferences, WatermarkAnnotation, WidgetAnnotation, WidgetAppearance, XObjectForm, XObjectImage, XRefStream
Class Attribute Summary collapse
-
.arlington_registry ⇒ Object
readonly
Returns the value of attribute arlington_registry.
Class Method Summary collapse
-
.eager_load! ⇒ Object
Force-load all autoloaded type classes so register_type and register_subtype calls fire.
- .lookup(name) ⇒ Object
- .register_arlington(name, klass) ⇒ Object
Class Attribute Details
.arlington_registry ⇒ Object (readonly)
Returns the value of attribute arlington_registry.
18 19 20 |
# File 'lib/pdfrb/model/type.rb', line 18 def arlington_registry @arlington_registry end |
Class Method Details
.eager_load! ⇒ Object
Force-load all autoloaded type classes so register_type and register_subtype calls fire. Call this before parsing or when iterating type_map. Idempotent.
31 32 33 34 35 36 37 38 39 40 |
# File 'lib/pdfrb/model/type.rb', line 31 def eager_load! return if @eager_loaded constants.each do |c| const_get(c) rescue NameError # Skip autoload targets that don't define a class yet. end @eager_loaded = true end |
.lookup(name) ⇒ Object
24 25 26 |
# File 'lib/pdfrb/model/type.rb', line 24 def lookup(name) @arlington_registry[name] end |
.register_arlington(name, klass) ⇒ Object
20 21 22 |
# File 'lib/pdfrb/model/type.rb', line 20 def register_arlington(name, klass) @arlington_registry[name] = klass end |