Skip to content

Features

gal kahana edited this page Sep 10, 2017 · 24 revisions

The main library features are listed here:

  1. PDF File Creation – the basic steps for creating a PDF file are described here First Steps In Creating a PDF file.
  2. Adding Pages – it is possible to add pages, set their dimensions etc. Pages creation is described here Creating PDF Pages.
  3. Pages Content – just creating pages is not enough. you can add content to the pages using PDF operators. details, here Adding Content to PDF Pages.
  4. Form XObjectsPDF files define reusable content via Form XObjects. Form XObjects creation is explained in Using Form XObjects.
  5. Images Support – you can use the library to embed JPG and TIFF images, as well as PDF pages, in the PDF stream. Read about it here Images Support.
    1. JPG Images support details- support of JPG Images is through the native DCT decoder. see JPG Images Support.
    2. TIFF Image support details – support of TIFF Images is through encoding/decoding with the assistance of LibTiff. see TIFF Images Support.
    3. PNG Images support details- support of PNG is through decoding with LibPng. Transparent images are supported. See PNG Images Support.
  6. PDF Document embedding – You can use existing PDFs pages. You can either append them as pages to the PDF, or use them as parts to include in the graphics of a newly created page. see PDF Embedding for details.
  7. Modification – you can modify existing PDFs. This is carried out in a similar manner to writing new PDFs. You simply have additional methods for modifying the PDF file. red about it in Modification.
  8. Text – It is possible to display text using the library. Supported font types are TrueType, OpenType, Type 1, DFont (mac font package and TTC (true type containers). see Text Support.
  9. Unicode – All strings that the library uses are in UTF8. It uses (and you can use it too) a class named UnicodeString to move between unicode encodings. check here – Unicode and UnicodeString class for info.
  10. Links – A basic capability for attaching links to text and graphics is provided by the library. see Links.
  11. State Saving – It is possible to stop using a current instance of the library, for instance when restarting a service, and later using another one to continue writing the PDF from the same spot. For this use State Saving. read State Saving for details.
  12. Parsing PDF – A by product of being able to embed PDF is that there’s also a basic parser for PDF. Good for parsing the basic objects of PDF (“COS” level in Adobe language). Very low on memory signature. read PDF Parsing for details.
  13. Extensibility – Extensibility is a key feature in the library. to read about the options for extending the library go to here – Extensibility
  14. Forward Referencing – depending in the algorithm you are using to write the PDF file, you may want to first use content, and only later define it. For example, first refer to a Form XObject, and only later define it. It is possible to do with Forward Referencing.
  15. IO in the library – how streams and files are used in the library. see IO.
  16. Custom input and output – the library can use image from various sources and create PDFs to other forms than files, all through stream interfaces. check it out on Custom input and output.
  17. Streams Compression – all stream objects in the PDF are compressed by default using Flate. details about compression here Compression
  18. Logging and Tracing – logging and tracing are possible with the library. for details see Logging and Tracing.
  19. Primitive PDF Objects – The primitive PDF objects (string, date etc.) may be created for various purposes. they are explained in PDF Primitive Objects
  20. Timer – it is possible to add timer code to the library using the timer classes. for details see Timers
Clone this wiki locally