Block Handling and PPS
Fill PDFlib blocks so that they are placed below the imported page.
Output an imported PDF page several times, with its blocks being filled with different personalized data.
Clone Blocks from another document. Use POCA to copy a modified Block.
Create PDFlib Blocks with the POCA interface.
Dump block information from an existing PDF document.
Duplicate a PDFlib block to any number of pages.
Output an imported PDF page with its blocks being filled with different personalized data.
Link multiple Textflow blocks.
Create nested blocks.
Fill some blocks of an imported PDF page while changing the rectangle coordinates.
Query the background color of blocks.
Import a PDF page containing blocks, and query various block properties.
Import a PDF page containing blocks, and process all blocks.
Create crop marks which will be visible on all color separations, using the special color "All".
Fill some area or text with a smooth transition from one color to another.
Assign an ICC profile to an image.
Colorize images and place all colorized images on top of each other.
Define and use several spot colors.
Demonstrate the basic use of supported color spaces.
View a list of all cross-browser colors including the color name and hexadecimal color value as well as the corresponding RGB color values used in PDFlib.
Arabic formatting issue.
How to create several variants of Bidi output.
Demonstrate the use of SING and EUDC fonts for merging a Gaiji character into an existing font.
Demonstrate text shaping for Arabic, Hebrew, Devanagari, and Thai scripts. Right-to-left text is reordered according to the Bidi algorithm.
For NexPress digital color printing machines, create some special kind of annotations to control the input tray.
Embed custom XMP metadata in a document.
Retrieve the XMP metadata from an imported document and write all document-level XMP metadata to the output PDF.
Fonts and Encodings
Output text in a barcode font.
Demonstrate the usefulness of character references, using a suitable font.
Use escape sequences in text lines to output octal or hexadecimal values.
Get various properties of a font such as font name, font style, or encoding.
Get various font related metrics such as the ascender or descender.
Configure font resources and search for fonts.
Check the availability of glyphs in a font.
Show the effects of glyph substitution in case of glyphs missing in the font.
Demonstrate the use of OpenType features for CJK fonts and text.
Demonstrate all supported typographic OpenType features after checking whether a particular feature is supported in a font.
Performance benefits of keeping a font open across multiple documents.
Create simulated italic or bold text output.
Starter sample for fallback fonts
Demonstrate various typographic OpenType features after checking whether a particular feature is supported in a font.
Create a simple Type 3 font from vector data.
Create a simple Type 3 font from image data.
Create a Type 3 font which contains a single logo derived from an image.
Demonstrate Type 3 font definition, use, and subsetting.
Create a Type 3 font by cloning another font and adding a further glyph.
Create a Type 3 font which contains a single logo derived from a vector based PDF page.
Produce an AES-256-encrypted document with a master password that contains Thai characters and ligatures.
Demonstrate different strategies with respect to exception handling.
Define the initial viewing properties for a document, such as zoom, page number, navigation tab, or title bar.
Apply your PDFlib license key using various methods to get rid of the demo stamp.
Output text using metric coordinates in a topdown coordinate system.
Change the permission settings so that only commenting the PDF is allowed.
Create contents which are used identically on multiple pages, such as fixed headers or footers.
Create some simple text, vector graphics and image output.
Create a PVF file which holds an image or PDF, and import the data from the PVF file.
Import an image with a map and add geospatial reference information.
Path object like an arrow, electrical symbol etc. is attached at a line by an attachment point and with an alignment.
Create an arrow using different methods.
Example for a path object: An arrow with rounded arrow head, with two attachment points.
Demonstrate the effect of the different PDF clipping rules.
Create crop marks which specify the "cutting area".
Create some dash patterns to be used as line styles.
Define some hatching patterns and use them to fill arbitrary shapes.
Define some overlapping vector graphics and fill them using various methods.
Define a layer hierarchy using the parent and child options.
Define two layers and hide or show them via bookmarks.
Create text which will overprint other page contents instead of knocking it out.
Create various shapes with path objects.
Create some rectangle with the corners being rounded.
Create a soft mask based on arbitrary geometric objects.
Place a stamp on a layer which is only visible upon printing.
Create some basic examples of vector graphics.
Define several layers, output images and text into them and define particular layers to be visible when opening the document.
Starter sample for path objects: Create some basic examples of path object construction and use.
Load SVG graphics and fit into a box.
Create some transparent graphics objects.
Attach OPI information to an image.
Align text at an image.
Demonstrates the use of an integrated alpha channel in TIFF and/or PNG images.
Place an image on an imported PDF card.
Display an image partially.
Draw a frame around an image.
Get the dimensions of an image for various purposes.
Read an image from an URL and place it in a PDF document.
Place an image with a mask applied to it.
Place an image with rounded corners.
Place an image with its integrated clipping path being applied to it.
Convert an input TIFF image containing one or more frames to PDF.
Load and place an image using various options for scaling and positioning.
Define a tiling pattern containing an image and use it to cover the page background with tiles.
Create transparent images.
Upon opening the page, create a full list of all menu item names in Acrobat.
Create the three types of barcode fields that Acrobat supports.
Define two layers for English or German contents and hide or show them via form field buttons.
Create four form fields of type "checkbox".
Create a form field of type "combobox" for choosing an item from a list or changing an existing item.
Create a form field of type "listbox" for choosing an item from a list.
Create a form field of type "textfield" for entering multiline text.
Create two form fields of type "pushbutton" for executing the "Print" and "Save As" commands.
Create a field group with three form fields of type "radiobutton".
Define the position of each form field in the tab order, i.e. when the user presses the "Tab" key.
Determine the height of a form field of type "textfield" with respect to the font size and vice versa.
Check if the date entered in a form field of type "textfield" has been formatted correctly.
Format the data entered in a form field of type "textfield" according to the rules defined.
Specify the layout of a form field of type "textfield" for displaying a date.
Demonstrate the use of a movie annotation in PDF.
Create bookmarks which are nested in several levels.
Package multiple PDF and other documents into a PDF portfolio. Import a custom navigator.
Package multiple PDF and other documents into a PDF portfolio.
Create a 3D model and load it into a U3D annotation.
Embed Flash in PDF.
Crop an A4 page to an A5 page.
Create pages in reverse page order.
Create some pages, assign labels to them and insert a table of contents at the beginning of the document.
Create some pages with various page sizes.
Create a running footer "Page x of y" on each page of the document.
Clone PDF/A and PDF/X standard documents.
Convert grayscale, CMYK or RGB image files in TIFF or JPEG formats to PDF/A-2b, taking care of color space issues.
Combined PDF/UA-1 and PDF/A-2a invoice generation demo.
Demonstrate the use of an XMP extension schema as defined in PDF/A-1.
Demonstrate the use of a complex XMP extension schema as defined in PDF/A-1.
Create a PDF/A-compliant output.
Create PDF/A-2b conforming output with layers, transparency and PDF/A attachments.
Output text conforming to PDF/A-2b, taking care of color space and font issues.
Apply a transparent stamp to an existing PDF/A-1 document while maintaining PDF/A-1 conformance.
Create a PDF/A-3b ZUGFeRD invoice from scratch.
ZUGFeRD: Add XML Invoice to PDF.
Clone PDF/A, PDF/UA and PDF/X standard documents.
Merge PDF/UA documents including the document structure trees. Additional text is stamped onto each page and tagged as Artifact.
Create PDF/UA-1 document with various content types including structure elements, artifacts, and interactive elements.
Demonstrate how to create Tagged PDF out of order.
Demonstrate how to tag multiple columns in parallel with activate_item().
Create accessible form field according to PDF/UA.
Demonstrate combined PDF/UA-1 and PDF/A-2a invoice generation.
Demonstrate list tagging.
Create a Tagged PDF containing a Textflow with appropriate structure elements on several pages.
Tagging for invisible OCR text which accompanies a scanned page.
Demonstrate automatic table tagging.
Create a large number of invoices in a single PDF and make use of PDF/VT-1 features.
Create a large number of invoices in a single PDF and make use of PDF/VT-2 features.
This variation of the starter_pdfvt2 wraps the data into a PDF/VT-2s-compliant MIME package, according to ISO 16612-2:2010 specification, Annex A
Clone PDF/A and PDF/X standard documents.
Create a PDF/X-3-compliant output.
Create PDF/X-4 conforming output with layer variants and transparency.
Create PDF/X-5g conforming output with a reference to an external page.
Clone the ArtBox, TrimBox, BleedBox, CropBox, and MediaBox entries of an imported PDF page.
Crop the pages of an existing PDF document.
Read the pages of an input PDF document and output them in reverse order.
Import two pages and output them on two layers on the same page.
In order to keep the output file size as small as possible handles to imported PDF pages or images can and should be reused for repeated contents.
Split PDF document in separate output documents where each output document contains a range of one or more pages from the input document.
Import two pages and output them on two layers on the same page.
Merge pages from multiple PDF documents.
Dump information from an existing PDF document.
Rotate the pages of an existing PDF document.
Place a stamp on the pages of an existing PDF document.
Import all pages from one or more existing PDFs, and place c x r pages on each sheet of the output PDF (imposition).
Place A4 pages from an imported PDF as A5 pages in the output document.
PDF on the Web Server
Create a linearized PDF which is encrypted and contains some form fields.
Define the height of the rows in a table.
Place a sub-table in one table cell.
Fit a form field into a table cell, e.g. to create a pushbutton in the cell.
Provide some table cells with a colored background.
Demonstrate how to place various kinds of contents in table cells spanning one or more columns or rows.
Show how table cell contents will be repeated on the next table instance if a cell or a row is split.
Output a table on 2 x m pages as it is needed to fit it completely.
Use the continue option of add_table_cell() to continue a Textflow in another cell.
Create table which may span multiple pages.
Create a contact sheet with photos and their labels.
Create an invoice using the table feature.
Create a table containing rotated text.
Create a weekly booking plan for the meeting rooms of a company.
Create a monthly time sheet for the working hours of an employee.
Demonstrate the vertical alignment of text lines and Textflows in a table cell.
In a Textflow define some terms to be indexed and create a sorted index from the indexed terms.
Control the vertical alignment of text in the fitbox.
Control the lines kept together on the page.
Create an initial drop cap at the beginning of some text.
Control the distance between adjacent paragraphs.
Create a Textflow and define various options for line breaking.
Output numbered and bulleted lists.
Insert a dot sequence automatically at the end of a textflow fitbox after the last word which can be showed together with the dots completely inside the fitbox.
Demonstrate how the current text position can be used to output simple text, text lines, or Textflows next to one another.
Use leaders to fill the space defined by tabs between left-aligned and right-aligned text, such as in a table of contents.
Create footnotes (superscript text) in a Textflow provided with links to jump to the footnote text.
Create outline text and fill the interior of the glyphs with an image.
Output invisible text on top of an image.
Use dot leaders to fill the space between text and a page number such as in a table of contents.
Output numbered lists with the numbers left- or right-aligned.
Read text in the UTF-8 format and output it.
Create text output which does not run horizontally, but at some angle.
Create a shadowed text line with the shadow option of fit_textline.
Create a stamp across the page which runs diagonally from one edge to the other.
Create multi-column text output which may span multiple pages.
Demonstrate various options for placing a text line.
Create a simple multi-column layout using tab stops.
Output text filled with an image.
Create text on a path.
Place a text line and a Textflow on a colored background.
Use the clipping path from a TIFF or JPEG image to shape text output.
Use gstate in Textflow, e.g. for transparency/opacity.
Create some transparent text.
Create underlined text.
Create an editable watermark.
Create a Textflow and integrate colorized Web links in the text.
Place images within a Textflow.
Use arbitrary polygons as wrapping shapes for text to wrap around.