From Newsgroup: comp.lang.tcl
ANNOUNCE: tclpdf 1.7 released
=============================
tclpdf is a pure Tcl extension for creating PDF documents: pages and
graphics, embedded fonts in four formats plus Type 3 and colour fonts,
JPEG, PNG and TIFF images, SVG drawn as vectors, flowing text with bold, italic, underlined and struck runs, links, headings and lists - written
as a run list, with tags or in Markdown -, tables, layers, interactive
form fields, tagged and accessible documents up to PDF/UA-2, encryption, digital signatures and timestamps, and electronic invoices as ZUGFeRD / Factur-X in PDF/A-3B. It also reads: a page of an existing PDF is taken
over as a form, a finished file is continued by an incremental update. Developed by Alexander Schoepe, it requires Tcl 8.6.11+ and runs under
Tcl 9 as well; tdom is needed only for the XMP metadata of a PDF/A,
PDF/UA or ZUGFeRD document, http and tls only to request a document
timestamp, and Tk is not used.
Built on and measured against ISO 32000-1 and -2, ISO 19005-2 and -3
(PDF/A), ISO 14289-1 and -2 (PDF/UA), EN 16931 with ZUGFeRD 2.3 /
Factur-X 1.09.2 and Order-X, ETSI EN 319 142-1 and RFC 5652 for
signatures, RFC 3161 for timestamps, ISO/IEC 14496-22 for fonts. What
claims a profile is checked against it on every run: veraPDF,
Mustangproject, qpdf and pdfsig over every document. 4672 tests in 91
files, green under Tcl 8.6.18 and Tcl 9.0.4 alike; 88 examples writing
97 documents, every one run, validated and looked at.
Since 1.5, a table cell carries what a paragraph carries. 1.6 brought
runs and the two notations into cells; 1.7 brings lists. The API grew
and nothing was withdrawn.
Wiki (manual, tables, markup, accessibility, test tools):
https://fossil.sowaswie.de/tclpdf/wcontent
Examples, every script with its finished PDF:
https://fossil.sowaswie.de/tclpdf/wiki?name=examples
Tech notes:
https://fossil.sowaswie.de/tclpdf/timeline?y=e
Download / Repository:
https://fossil.sowaswie.de/tclpdf
Author: Alexander Schoepe <
[email protected]>
New since 1.5:
* 1.7: a cell may hold a list - "item bullet|number" in a run, "ul",
"ol" and "li" under "markup tags", "- " and "1. " under "markup
markdown" - indented and labelled as in flowing text, the row as tall as
the items make it; in a tagged document the TD holds an L with LI, Lbl
and LBody, green under veraPDF for PDF/UA-1. A heading in a cell is
still refused by name.
* 1.6: a cell takes "runs", the list of {text options} pairs of "text
-runs 1", written by a program from its data; the style key "markup plain|tags|markdown" - said once for a column, a section or the table, a
cell may say otherwise - names the notation its text is written in. A
bold word is measured in its face, the first baseline is the baseline of
the plain cell beside it, and a plain table sets the same bytes as before.
* 1.6: "io read", "head" and "write" open, transfer and close under try/finally and report a missing file or a directory by name after the
fact - no channel is left open on failure. With thanks to Ralf Fassel
for the suggestion.
Changed since 1.5:
* 1.6.1: every module changed since an earlier release carries a new
version, and the modules that call new code require it, so two releases installed side by side load the files of the newer one; the test suite
checks every module version against every release tag. Whoever installed
1.6 beside an older release takes 1.6.1 or later.
* 1.7: a list paragraph drawn inside a form, a pattern or a repeated
table head no longer leaves an empty list element in the structure tree.
Notes:
* Installing: the release archives tclpdf1.7.zip and tclpdf1.7.tar.gz
hold one directory tclpdf1.7 with the modules, pkgIndex.tcl and the ICC profiles - nothing to build; extract it into a directory on your
auto_path and "package require tclpdf" finds it. The source archive
builds the TEA way in the source directory: ./configure, make test, make install.
* No font is part of the package. The faces under examples/assets/fonts
travel in the source archive alone; "make install" installs none.
* Not coming, each for a measured reason: a heading inside a table cell, nested lists, runs that change the size or the colour, PDF/X, RC4 and
the older encryption revisions, EPS, GIF and BMP.
--- Synchronet 3.22a-Linux NewsLink 1.2