Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
start [2018/08/04 15:54] christian [Related projects] |
start [2022/02/25 14:32] bekki |
||
---|---|---|---|
Line 5: | Line 5: | ||
PDF files can be opened and all PDF objects are available as Smalltalk objects, which can be manipulated in any way you like. Likewise, any Smalltalk PDF object (net) can be written out as conforming PDF file. | PDF files can be opened and all PDF objects are available as Smalltalk objects, which can be manipulated in any way you like. Likewise, any Smalltalk PDF object (net) can be written out as conforming PDF file. | ||
- | The library implements the {{pdf: | + | The library implements the {{pdf: |
+ | |||
+ | The syntax | ||
===== The Library ===== | ===== The Library ===== | ||
- | The library is for programmers who need full control over all details of PDFs. | + | The library is for programmers who want full control over all details of PDFs. |
+ | |||
+ | See the [[releaseNotes|release notes]] for details. | ||
The licence is MIT. | The licence is MIT. | ||
Line 21: | Line 25: | ||
Included is a UI tool to inspect PDFs: the PDFExplorer (internal version of the [[PDFtalkSnooper]] application). | Included is a UI tool to inspect PDFs: the PDFExplorer (internal version of the [[PDFtalkSnooper]] application). | ||
- | ===== What's new ===== | + | ===== Related |
- | + | ||
- | This is version 2.0 of the library (October 2017). See the [[releaseNotes|release notes]] for details. | + | |
- | + | ||
- | + | ||
- | **Name** The new name is // | + | |
- | + | ||
- | **Typing** The heard of the “PDF engine” is the [[newtyping|typing system]] which allows the assignment of Smalltalk classes to raw PDF objects. The new version has a redesigned type system where PDF types are properly modeled independent from the Smalltalk class hierarchy. This allows to rename classes freely (i.e. adding prefixes) without affecting PDF types. Also, boxing of some simple objects like " | + | |
- | + | ||
- | **[[PDFtalk4Gemstone|PDFtalk for Gemstone]]** The new release was triggered by a contract to port the library to Gemstone (thanks to HTS and Bob Nemec). A talk about this was held at ESUG 2017: " | + | |
- | + | ||
- | **[[GemstoneFileout|Gemstone Fileout]]** A VisualWorks to Gemstone translation tool. This tool, with project specific code transformation declarations, | + | |
- | + | ||
- | Both new projects | + | |
- | ===== Get started ===== | + | |
- | + | ||
- | The slides {{pdf: | + | |
- | + | ||
- | Load the **{PDFtalk Project}** bundle from the [[storeaccess|Cincom Public Store]] into your [[http:// | + | |
- | + | ||
- | Try the [[examples|demos and examples]]. | + | |
- | + | ||
- | Read the [[documentation]]. | + | |
- | + | ||
- | To get the latest news and to participate in discussions, | + | |
- | + | ||
- | ===== Documentation | + | |
- | + | ||
- | The {{pdf: | + | |
- | PDF has many features which are more or less independent from each other. Implementing a PDF feature with the PDFtalk library means to define classes for each relevant PDF type for the feature and providing some automations or helpers for constructing the proper structures. | + | ==== Libraries ==== |
- | Some simple features are implemented by the library apart from the core mechanisms. Many others are not. For an overview see [[Implementation|the state of the implementation]]. The documentation here is not comprehensive and covers only a few topics. | + | **[[complexvalues|Values]]** A base library for immutable complex objects facilitating functional programming. |
- | ==== Using the library ==== | + | |
- | | + | **[[RDF]]** The implementation of the W3C Recommendation |
- | | + | **[[PostScript]]** Implementation |
- | | + | **[[CMap]]** Font encodings for Type 0 fonts (large fonts for Japanese, Chinese, Korean...) |
+ | ==== Gemstone ==== | ||
- | | + | **[[PDFtalk4Gemstone|PDFtalk for Gemstone]]** The port of the library to Gemstone Smalltalk. A talk about this was held at ESUG 2017: " |
- | | + | **[[SmalltalkTransform|Smalltalk Transform Project]]** A translation tool for VisualWorks to generate |
- | ==== About the library ==== | + | |
- | * [[Implementation]] Notes the state of the implementation of the features structured along the specification chapters. | + | The projects above are open source with MIT licence. |
- | * [[Typing]] PDF attributes are typed. To make use of this, the typing system was implemented. Since this is complex, it deserves its own topic. | + | ==== Tools ==== |
- | | + | **[[PDFtalkSnooper|Snooper]]** Stand-alone UI tool to inspect PDFs. This is the packaged version of the internal tool. |
+ | The tool is free, but not open-sourced. | ||
===== References ===== | ===== References ===== |