{"ref":"artifact:beraadim-zcl-pdf","page":"/artifacts/beraadim-zcl-pdf","json":"/artifacts/beraadim-zcl-pdf.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"beraadim-zcl-pdf","name":"zcl_pdf","artifact_type":"package","ecosystem":"abap","flavors":[{"key":"standard-abap","source":{"url":"https://github.com/beraadim/zcl_pdf","title":"beraadim/zcl_pdf — README","checked":"2026-09-14","quote":"Get the PDF as a raw string which can be stored as files or sent as http\n  responses or shown directly in SAP GUI (see example)."}}],"domain":"integration-and-messaging","origin_ring":"independent","description":{"one_line":"A standalone ABAP class that draws simple PDFs without Adobe Document Server: text in built-in fonts, text fitted into a box and rectangles, returned as a raw string to store, send or display.","short":"Standalone ABAP class drawing PDFs without Adobe Document Server","what_it_solves":"Generating a PDF from ABAP without Adobe Document Server (ADS) means relying on the ABAP stack's built-in, non-ADS capabilities, which the maintainer found very limited on a project. zcl_pdf is a standalone alternative for when ADS is not available: it writes text in the Helvetica, Times or Courier built-in fonts, measures text strings, fits text into a box at the largest size that still fits, draws rectangles, and returns the PDF as a raw string to store, send as an HTTP response or show in SAP GUI. It supports only the basic functionality the maintainer needed, though adding more is described as fairly simple. There is no package to install: the class is created by hand and the source pasted into it."},"links":{"repo":"https://github.com/beraadim/zcl_pdf"},"type_properties":{"placement":{"value":"in-host","sources":[{"url":"https://github.com/beraadim/zcl_pdf","title":"beraadim/zcl_pdf — README","checked":"2026-09-14","quote":"A pure stand alone ABAP class for creating PDFs in SAP on any ABAP system"}]},"distribution":{"value":["copy"],"sources":[{"url":"https://github.com/beraadim/zcl_pdf","title":"beraadim/zcl_pdf — README, To use","checked":"2026-09-14","quote":"To use:\n1. Create a class named ZCL_PDF\n2. Change to \"Source Code Based\" editing\n3. Past in the code from the file zcl_abap.abap\n4. Activate class"}]}},"identity":{"license":"MIT"},"source_available":true,"provides":[{"capability":"capability:document-output","what_it_does":"Draws text in built-in PDF fonts, measures and fits it into boxes, draws rectangles, and returns the PDF as a raw string.","sources":[{"url":"https://github.com/beraadim/zcl_pdf","title":"beraadim/zcl_pdf — README","checked":"2026-09-14","quote":"A pure stand alone ABAP class for creating PDFs in SAP on any ABAP system"},{"url":"https://github.com/beraadim/zcl_pdf","title":"beraadim/zcl_pdf — README, Currently, the class is capable of","checked":"2026-09-14","quote":"* Create text in the PDF built in fonts\n  * Helvetica\n  * Times\n  * Courier\n* Measure text strings (for the supported fonts)\n* Fit text within a defined box constrain with largest possible font size\n* Draw rectangles"}]}],"provenance":{"discovered_via":[{"source":"source:curator"}],"first_seen":"2026-09-14"},"drafted_with_ai":true,"maintainers":["actor:beraadim"],"contributors":["actor:andreaborgia-abo","actor:beraadim","actor:larshp"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"good","evidence":"4 contributors"},{"label":"Repository","tier":"good","evidence":"pushed 2026-10, not archived"}],"compatibility":[{"label":"Declared for","tier":"fair","evidence":"nothing declared"},{"label":"Survived majors","tier":"unknown","evidence":"not read on ABAP: its lines run side by side"},{"label":"Maintainer's CI","tier":"fair","evidence":"no CI configured"}],"practice":[{"label":"Tests","tier":"poor","evidence":"none found in the tree"},{"label":"Docs","tier":"fair","evidence":"README 1 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":48,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-24","npm":"not published under this name","stars":48,"forks":11,"open_issues":0,"archived":false,"pushed_at":"2026-10-17","license_spdx":"MIT","org_owned":false,"default_branch":"master","created_at":"2017-06-03T09:46:29Z","open_prs":0,"tree_truncated":false,"test_files":0,"workflows":0,"other_ci":false,"readme_bytes":1278,"docs_files":0,"changelog":false,"license_file":true,"dts_files":0,"first_commit":"2017-06-03","last_commit":"2026-10-17","commits":12,"contributors":4,"readme_path":"README.md","readme_sha":"9d0cabc781bcf22665248431942e7d5c495e5915","repo_read":"2026-10-24"},"edges":{"maintainers":[{"ref":"actor:beraadim","name":"Bjørn Espen Raadim","json":"/actors/beraadim.json"}],"contributors":[{"ref":"actor:andreaborgia-abo","name":"Abo","json":"/actors/andreaborgia-abo.json"},{"ref":"actor:beraadim","name":"Bjørn Espen Raadim","json":"/actors/beraadim.json"},{"ref":"actor:larshp","name":"Lars Hvam","json":"/actors/larshp.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}