Rand Stats

PDF::Tags

zef:dwarring
0.2.8  2026-04-12T08:49:58+12:00
   - Fix XML :debug option 

0.2.7  2026-04-11T13:32:18+12:00
   - Restrict XML indentation to block elements only. No extra indentation or whitespace
     is added to text content or inline elements. This should ease automated text extraction,
     particulary where whitespace matters. E.g. within code blocks.

0.2.6  2026-04-08T07:09:40+12:00
   - Handle XML links for PDF 2.0 structural destinations
   - Add --class-names to serialization. This changes from the default
     XML behaviour of in-lining class attributes to adding class="name..."
     attributes to elements, and initial 
     directives.
   - Fully map the PDF information dictionary to Document attributes; add
     %!info attribute to the document root object.
   - Add Pg/Stm attribute to Mark tags. This contains an indirect object
     reference.

0.2.5  2025-08-29T06:33:48+12:00
   - Escape XML CSS and XSL style-sheets

0.2.4  2025-08-26T08:06:49+12:00
   - Add XML support for named destinations, as hrefs and ids.

0.2.3  2025-08-22T10:51:08+12:00
   - Add :xsl option to XML-Writer. This will add a directive to
     associate the XML document. Note that any :css option will
     then work with the transformed document; usually HTML.
   - Make XML MCID attribute output honor the :atts option.
   - Support NoteType attribute in FENote tags. This is a WTPDF
     recommendation, but not yet official in PDF 2.0

0.2.2  2025-08-07T10:36:26+12:00
   - Allow for references to null and indirect objects in XML
     serializations. This is possible in attributes, which can
     reference anything.

0.2.1  2025-06-27T08:38:37+12:00
   - Fixed vivification of role-maps
   - Fixed actual-text escaping in XML output
   - Fix XML :roles option to translate only valid XML names to tags.
   - Also output a " ... ?> directive when
     roles are being mapped.

0.2.0  2025-06-04T12:53:05+12:00
   - Document mnemonics: /Code as CODE and /L as LIST. These have been
     upper-cased in PDF::Content to avoid colliding with standard Raku
     data-types.
   - Improved robustness of XML serialization; warn rather than dying. This
     allows more liberal reading of some real-world non-conformant PDF files.
   - Add node-class PDF::Content::Tag. This is both a stand-alone class and
     a base class for existing PDF::Content::Mark.
   - XML serializer now emits ... when descending into marked
     content.
   - Improve Artifact documentation. These may be used in both the structure
     tree and content stream

0.1.18  2024-10-02T13:15:18+13:00
  - Relax type-checking on Attributes /O (owner) entry.
  - Use 'Placement' attribute for 'Block' vs 'Inline' elements in
    XML serialization

0.1.17  2024-08-29T06:53:12+12:00
  - Fix setting of DOCTYPE in external Dtd
  - Refactor ancestor-or-self and descendant-or-self axes
  - Fix tag method for Pod::To::PDF::API6::Async
  - Fix style inheritance on root node

0.1.16  2023-11-15T10:09:02+13:00
  - Always wrap XML content with 0 or many root elements in a
    DocumentFragment to ensure validity
  - Handle 'Artifact' tags in the structure tree

0.1.15  2023-11-10T08:07:05+13:00
  - More fixes to XML :omit option
  - Document some PDF 2.0 tags
  - Add :Lang to root element in doco and tests

0.1.14  2023-10-28T14:27:41+13:00
  - Avoid whitespace in some tag XML serialization e.g.
    
. Required to pass latest DtD which declares this as EMPTY. 0.1.13 2023-10-27T07:31:38+13:00 - Use 'DocumentFragment' to name document fragments. It's the official name in PDF 2.0 - Remove some leaked ... tags when using --omit=Span option; introduced in v0.1.12 0.1.12 2023-10-21T09:20:59+13:00 - Add support for Lang attribute in XML and element construction 0.1.11 2023-07-24T11:39:08+12:00 - Add xml(:roles) options - dereference role-map when writing XML tags - Add dereferencing of field values in XML content 0.1.10 2022-12-20T11:31:44+13:00 - Add support for structure attributes 0.1.9 2022-12-09T08:07:32+13:00 - Add support for role-maps. 0.1.8 2022-11-25T15:31:14+13:00 - Don't write XML dtd when :marks is set. - Fix buglet in computing attribute owner - Ensure tests produce valid document structure #11 0.1.7 2022-07-26T11:38:35+12:00 - Allow fragments to contain multiple top-level elements. - Fix t/write-tags.t to produce valid Tag structure #11 - Remove misleading link example from README Synopsis. Instead add detailed example to examples/link.raku 0.1.6 2022-07-23T11:24:54+12:00 - Improvements and corrections to README 0.1.5 2022-07-23T10:27:29+12:00 - Changed do() method to accept a fragment option. Usage is now: $elem.do($gfx, $frag, *%opt), which renders the xobject contained in a document fragment and inserts a copy of the fragment sub-tree. 0.1.4 2022-07-18T06:55:42+12:00 - Fix t/style.t for latest CSS::Properties 0.1.3 2022-07-10T08:21:43+12:00 - Fixed code samples and expanded README.md 0.1.2 2022-05-29T10:33:54+12:00 - PDF::Tags::XML-Writer now links to external DtD: http://pdf-raku.github.io/dtd/tagged-pdf.dtd - Add Elem fragment() method. To allow stand-alone sub-tree construction - Add some basic protection lock for thread safety fragment manipulation 0.1.1 2022-03-31T08:12:02+13:00 - Restore README, eaten by Mi6 0.1.0 2022-03-31T08:06:23+13:00 - Add node-path() method to compute an XPath for the node in a tree. - Allow update of Element names - Improve conformance of attribute handling. Detect and respect tag owners. 0.0.15 2022-03-25T11:38:23+13:00 - Fix $tags.xml(:!atts) option - Move this module from CPAN to zef 0.0.14 2022-02-16T10:36:38+13:00 - PDF::Tags::XML-Writer -- Handle serialization of target links to 'href' attribute #7, e.g. Foo. Implemented for named destinations and external links. TODO: Page level destination links. - PDF::Tags::Elem: -- Rename $.class attribute to $.role. This represents the original tag-name before being dereferenced via StructTreeRoot.RoleMap. -- Added classes accessor - PDF::Tags: -- Added :$role-map and :$class-map options to create() method 0.0.13 2021-12-27T17:26:35+13:00 - Avoid writing /ActualText entries into StructElems when they replicate the marked content sequence in the content stream.. - Add element leaf() attribute and add-kid :$bind option. Both of these help to further reduce the number of StructElem nodes. - Revamped XML serialization formatting. It now correctly detects inline elements and avoids line-feeds. 0.0.12 2021-12-22T06:54:30+13:00 - Export read capability to new module PDF::Tags::Reader. This module has been slimmed down to only allow writing, not reading of tagged PDF. This also lets us drop PDF::Font::Loader as a dependency. 0.0.11 2021-12-20T18:17:21+13:00 - Use PDF::Content v0.5.13 $.actual-text accessor - Fix handling of ActualText entries when marking at different levels in the structure tree. 0.0.10 2021-10-13T06:53:46+13:00 - Upgrade to PDF::Content v0.5.9+. Deprecate PDF::Content owner() and parent() methods in favor of canvas() 0.0.9 2021-09-29T17:55:25+13:00 - Add CSS::TagSet::TaggedPDF integration - see t/style.t 0.0.8 2021-06-20T11:47:35+12:00 - Removing bogus "api" from META6. Flushing CPAN. 0.0.7 2021-04-11T07:13:25+12:00 - Also allow reference from add-kid method. This allows shortening of $root.Link.reference($gfx, $annot) to $root.Link($gfx, $annot) 0.0.6 2021-04-09T11:18:57+12:00 - Add :graphics option to dump selected graphics state. Currently outputs: TextMatrix and CTM matrices, Stroke and Fill colors - Allow marking from add-kid method. In particular this allows shortening of $tag.Paragraph.mark(...) to $tag.Paragraph(...) 0.0.5 2021-01-15T10:29:13+13:00 - Implement shorthand form of child constructor .e.g `$doc.Paragraph` rather than `$doc-add-kid: :name(Paragraph);` - Adjust to PDF 0.4.10+ coercian semantics 0.0.4 - Bump dependencies. 0.0.3 - More Doco 0.0.2 - Add license (Artistic) - Change README examples from PDF::Class to PDF::API6 0.0.2 - Doco corrections 0.0.1 - Initial release