https://github.com/pharo-contributions/artefact
Artefact is a framework to generate PDF documents in Pharo.
https://github.com/pharo-contributions/artefact
pdf pharo smalltalk
Last synced: 3 months ago
JSON representation
Artefact is a framework to generate PDF documents in Pharo.
- Host: GitHub
- URL: https://github.com/pharo-contributions/artefact
- Owner: pharo-contributions
- License: mit
- Created: 2018-10-02T19:24:54.000Z (over 6 years ago)
- Default Branch: development
- Last Pushed: 2024-06-25T14:18:42.000Z (about 1 year ago)
- Last Synced: 2025-03-24T22:41:57.546Z (3 months ago)
- Topics: pdf, pharo, smalltalk
- Language: Smalltalk
- Homepage: https://sites.google.com/site/artefactpdf/
- Size: 677 KB
- Stars: 18
- Watchers: 4
- Forks: 8
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Artefact
[](https://www.pharo.org)
[]([https://www.sqlite.org](https://en.wikipedia.org/wiki/PDF))**Artefact** is a framework to generate PDF documents in [Pharo](https://www.pharo.org).
Artefact is written and supported by Olivier Auverlot and Guillaume Larcheveque (aka The Pasta Team) with contributions from Pharo community
[](https://github.com/pharo-contributions/Artefact/actions?query=workflow%3ABuild)
[](https://codecov.io/gh/pharo-contributions/Artefact/branch/master)[](https://pharo.org/download)
[](https://pharo.org/download)
[](https://pharo.org/download)
[](https://pharo.org/download)
[](https://pharo.org/download)
[](https://pharo.org/download)
[](https://pharo.org/download)## Description
It is fully written in Smalltalk and doesn't require any native library. Artefact is light, platform independant and offer to users a high level of abstraction in order to easily creating PDF documents.
- Completely written in Smalltalk (and only Smalltalk),
- Complete freedom about the order of creation for pages, elements... (no need to follow the document order)
- Multi format and orientation for pages
- Page composition based on reusables PDF elements,
- Extensibility by offering a composition standard to create your own high level elements
- StyleSheet that can be reused in many documents and avoid wasting time and place with duplication
- Image support with JPEG and PNG formats
- Pre-defined high level elements like datagrid
- Support PDF compression to produce compact files[](https://www.youtube.com/watch?v=Jc_Z_YnW2uM)
## Install Artefact
To install Artefact on your [Pharo](https://www.pharo.org) image you can just execute the following script:
### Load and use:
```Smalltalk
Metacello new
githubUser: 'pharo-contributions' project: 'Artefact' commitish: 'master' path: 'src';
baseline: 'Artefact';
load
```
Check the demo and examples in the *"Artefact-Examples"* package.### Develop:
If you want to contribut to development load the latest development branch:
```Smalltalk
Metacello new
githubUser: 'pharo-contributions' project: 'Artefact' commitish: 'development' path: 'src';
baseline: 'Artefact';
load
```### Add Artefact to your project(s):
To add Artefact to your baseline just add this:
```Smalltalk
spec
baseline: 'Artefact'
with: [ spec repository: 'github://pharo-contributions/Artefact:master/src' ]
```Note that you can replace the #master by another branch as #development or a tag as #v1.0.0, #v1.? or #v1.2.? .
## Getting started
To start using Artefact, you should look at the
- [Guide](./docs/Guide.md)
- [Tutorial](./docs/Tutorial.md)