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