All plugins and renderers can be started without Python. The Python installation is checked only when Python is really needed (i.e. when a script starts with #!py). If the installation is missing, Python scripts return the error 1. For the first Python script, a corresponding warning message is also shown. The following Python versions are expected:

Whether a program can be executed depends more on the Operating System than on the hardware:

Executability Until Catalina
Mac OS X 10.15
Since Big Sur, Mac OS 11
Intel M Series
Intel-Only Software Yes Yes Rosetta 2
Universal Software No Yes, in Intel Mode Yes, in ARM Mode

We support Universal software from InDesign® and Illustrator® 2022 onwards. The Finder information of all of our plugins contains a corresponding note whether the plugin is Intel or Universal.

Because this file contains entries from our bug tracking system, the content of this file is partly in German.

The table describes the features and bug fixes of the priint:comet pdf renderer 4.2.

Revision    Case Description

v4.2 R32585


No Functional Changes

v4.2 R32423


Python Enhancements

The following improvements are now available for the Python integration:

  • Selecting the page when placing a PDF is now possible
  • Consistency updates
For more information see here

TW 2483470 - table::broaden_to_frames ignores the frame strokes

In comet_pdf the function table::broaden_to_frame ignores the weight of the frame strokes. If the frame has strokes > 0, the table extends beyond the frame on the right.

This error has been fixed. Additionally, the cell strokes weight of the left and right cells of the table are included in the calculation.

TW 2471998 - Python version is not determined correctly under Linux

I have installed Python 3.10 on my Ubuntu 22.04. But comet_pdf always expects me to install 3.8. But this version is not available for Ubuntu 22.04.

Unfortunately, we made a small mistake when determining the available Python version under Linux. The error is fixed.

v4.2 R32286


run_python extended The cScript function run_python now supports IDType, IDTypeList, Product and ProductList as input variables.
TW 2459284 - Crash on python function CPage.setSize

Using the Python function Page.setSize will reproducible crash InDesign. The error occurs on the Mac only.

The bug is fixed now.

v4.2 R32141


doclink for comet_pdf

TW 2421657

The document::get_links function and all of the frame::doclink functions are now available for comet_pdf too:

Improved Excel Import

The Excel import (e.g. excel::read) now reads all standard number formats and all date/time formats. Only user-defined numbers are not yet imported in an Excel-compliant way.

Python Enhancements

There are several new enhancements to the Python integration, inlucing a bugfix for the notorious 'ModuleNotFoundError'.
For more information see here

TW 2419419 - Empty comments not exported into PDF notes

Comet-Notes with no or only an empty text in their comments are not exported as PDF notes by comet_pdf.

This is done now.

TW 2419395 - Wrong encoding in Comet Notes after exporting by comet_pdf

When I export the Comet notes with comet_pdf, Unicode characters are automatically converted to <0xXXXX>. But this should happen only in TaggedText, right? But not e.g. in title and responsible of a note.

Yes, of course you are right. The error is fixed.

TW 2418254 - Round corners of notes are lost with comet_pdf

When I let comet_pdf edit a document with Comet notes and save it with --autosave, the rounded corners of the Comet Notes are lost.

Yepp, this is solved now :-)

TW 2418204 - Frame and group notes are overlapping in PDF of comet_pdf

If a frame has frame AND group notes, then the PDF notes that comet_pdf generates from it (with the --annot option) will overlap.

This problem is solved.

TW 2418190 - Comet Notes with page index are wrong placed by comet_pdf

Comet notes with a page index are always placed one page behind the given page by comet_pdf when exporting with --annot.

The problem is solved now.

TW 2418191 - comet_pdf cannot create PDF with option --annot

If the option --annot is given (Create PDF notes from the Comet Notes) the creation of the PDF fails with the PDFlib error 'content for value must not by empty' in function PDF_create_annotation.

The problem is fixed now. It's a side effect of the new outlined Comet Notes introduced in v4.2.R31859.

TW 2413439 - frame::image with kPlaceLikeExisting distorts images

When I replace an image with comet_pdf and frame::image with kPlaceLikeExisting, the new image is displayed in exactly the same size as before. But if the new image has a different aspect ratio than the old image, the new image will be distorted.

Unfortunately, this is true. We now adjust (as in InDesign®) the height according to the new aspect ratio. This solves the problem.

v4.2 R32064


Speed Optimization

By optimizing the file queries, we were able to achieve a significant increase in performance. In XML offline data connections, this can reduce the execution time by up to 15%.

Please Note: By using Web Images and in other data connection types (ODBC, SOAP, PubServer), the performance increase can be significantly lower.

TW 2406062 - How to show the placeholder states in comet_pdf?

With the -ap option comet_pdf can mark the text placeholders in the PDF. This is great. Can I also show the states of the placeholders somehow?

We used a little trick: We use fixed strong colors instead of the symbols and write the text in white above. The colors used are described here.

TW 2406043 - comet_pdf does not export changed states of placeholders

Unfortunately, when I load or update text placeholders with comet_pdf, the states of the placeholders are not written to the output W2ML. If a document created this way is then opened in InDesign, the old status (or OKAY) is still there. With frame placeholders, on the other hand, it works.

Yes, the information for text placeholders is transported via the tag. But this has no indication for the status.

We have added a corresponding attribute to the tag, so the status of the text placeholders can now also be transported back and forth between InDesign and comet_pdf. The attribute is named "state" and have the sync state values described in placeholder::set_sync.

TW 2383440 - comet_pdf crashes on Mac OS Ventura

Every time a template is to be inserted, comet_pdf crashes immediately under Mac OS 13 (Ventura). In the crash log the last thing is about csystem::ethnetID.

The EthernetID is used to get unique IDs for the placeholders. Apparently Apple has changed something about the corresponding function. In any case, we fetch the EthernetID a bit differently now. This solves the problem.

v4.2 R31940


No Functional Changes

v4.2 R31859


TW 2317567 - itemlist::move_to does not work correctly

If the list of frames contains frames on different pages, the itemlist::move_to function does not work correctly with comet_pdf. Only the frames of the side of the first frame are moved correctly.

The problem is solved now.

v4.2 R31755


TW 2270252 - table::cell::get_cellid missing

The following cScript functions are available for comet_pdf now too:

v4.2 R31565


Lineends for Curves

TeamWork 2173936

Also arbitrary curves (and not only straight lines) can now be displayed with line ends (arrows). Here's a small screenshot:

Python enhancements

There are several new enhancements to the Python integration:

New functions
Several bugfixes
and more...

For more information see here

run_python expanded The CScript function run_python now supports passing a wide range of custom global variables to the Python script
TeamWork 2220370 - Page reorganization with hidden frames

Our customer thinks that it used to be possible to use a page layout or page reorganization in such a way that the distance to the next product was not increased by hidden frames.

This is a regression of fix FogBugz 32585

We reverted the change and are exploring other options

TeamWork 2173931 - Paths always closed

When I define a path (e.g. a curved line), this shape is always closed. An additional line is always drawn from the end point to the start point of the curve.


TeamWork 2212849 - Product build calculates grid position wrongly During a row-wise product build it can sometimes happen that the grid position of the next product is calculated wrongly when layout rules change the size of the current product in the situation kAfterBuild. This then causes wrong placement on a newly created page.


run_python provides wrong values for gLen When using the CScript function run_python in a text placeholder which has loaded text before the call, the value of gLen is wrong and reflects the initial value before replacing the text


We now properly update the value of gLen before executing the Python script

v4.2 R31400


TeamWork 2161175 - Cannot download mediaproxy URL

priint:comet URLs for the media proxy cannot be loaded if the download URL contains encoded characters of the like %3A. These characters are apparently converted back before the download.

In the example the %XX's are re-translated into their original letters. But the included download URL must be passed on unchanged:

Yes, in the plugins any corrections are made to the URLs. This was exactly the default in other cases and without these corrections these URLs will no longer work. Since we can't decide which parts of a URL need correction and which don't, I suppress the correction in all URLs that contain the text 


(in exactly this notation!) after consulting our IT. This solves the problem (again : for exactly such URLs).

TeamWork 2165651 - LineEndStart/End (Arrows) for lines

I would need some arrowed lines in comet_pdf. Is that possible?

We added the full range of line ends suppported by InDesign into comet_pdf too (lot of work). See here for detailed information.

Please note : You also need to use InDesing plugins of at least v4.2 R31360 to create the according W2MLs!

TeamWork 2155148 - frame::moveto wrong for frames with outer stroke contour

Frames with an outer or centered contour are placed incorrectly by frame::moveto. You can easily reproduce the problem with a frame with a outer contour and the following function that moves the given frame to its current position:

int mvframe (int uid)
	ItemRef 	fr = item::alloc ();
	float   	l, r, t, b;

    item::define (fr, 0, uid);
    frame::bbox(fr, &l, &t, &r, &b);
    frame::moveto (fr, l, t);
    item::release (fr);

    return 0;

This problem is fixed.

v4.2 R31313


TeamWork 2127848 - Scriptfunction for user interactions

I have to test the same renderer command over and over again but with different data files. I could change the datafiles.xml each time or give the call a global variable or rename the file each time. But all this is somehow always cumbersome and I forget the different filenames even after two days. Is there not a better solution?

For example, you could define different shortcuts. Anyway, we have another solution:

We have made a renderer version of the good old askpopup2. The function does not support database calls and xmlqueries. But if you fill the IDTypeList of the function, the entries are shown in the Terminal and with the input of a number you can select an entry.

v4.2 R31168


FogBugz 32562 - How to impot > character using html::to_tagged

Any &gt;-escaped > in HTML will cause html::to_tagged to fail. The same happens with &lt; of course.

This is fixed now.

v4.2 R30871


FogBugz 32506 - Still Having Problems with Passwords in Web Image URLs

We still habe problems with the encrypted passwords in URLs of Web Images. The fix of case 32406 is working: BUT : If the encrypted pwd ends with a slash itself, you will get 4 slashes and your method with the three slashes around the encrypred pwd will fail.

What a hassle. We would most like to write the password unencrypted into the document. But okay, we solved this problem too.

v4.2 R30779


FogBugz 32406 - cURL Error 3 while downloading Web Images

I have an Web Image URL containing a user name and a password. The password is kindly encoded when writing to the document. But apparently the encoding can contain characters that break the URL, e.g. some additional /s.

This bug is fixed now. Encoded password are enclosed in /// now automatically. Here's an example:


v4.2 R30683


FogBugz 31606-2 - No Table Break while building product

We still have problems with tables not starting until the following page : Some table do not start at the current page but on the next page only.

If a frame has overset during product buildup, the continue-template is used. Before we do that, we test to see if increasing the frame size will reduce the overset. Unfortunately, in comet_pdf we can only see that we are inside a table - but not how far the table fits. For this we would have to draw the table - a huge lack of performance. But this way, unfortunately, we only see that we have an overset but it doesn't change.

With a little workaround we could fix the problem.

Important Note to PDFlib 10 : PostScript Type 1 Fonts are deprecated in PDFlib 10!

v4.2 R30603


Native Version for Mac M1

With this release we present the first native M1 version of the renderer.

To install the native version please follow the instructions of 1 ReadMe of your installation package.

FogBugz 32282 - Wrong inline positions in tables

I have an InDesign document with some tables that have inlines in them. When I export this document to W2ML and let the renderer output it, the inlines are positioned incorrectly.

The problem ist fixed now.

FogBugz 32280 - Error while using option -p items.xml

My renderer call uses option

   -p items.xml

to defined the list of products to be build. This works using comet_pdf v4.1.8 but using comet_pdf v4.2 I always get the error:

Error 500 while reading products xml 'items.xml'

The problem is solved now

v4.2 R30464


See History v4.1.8

v4.2 R30323


Hello, this is the first release version of comet_pdf v4.2

v4.2 R30121


No Functional Changes