{"id":13830257,"url":"https://github.com/AndreRenaud/PDFGen","last_synced_at":"2025-07-09T11:32:31.823Z","repository":{"id":6055737,"uuid":"10349829","full_name":"AndreRenaud/PDFGen","owner":"AndreRenaud","description":"Simple C PDF Writer/Generation library","archived":false,"fork":false,"pushed_at":"2024-04-20T22:46:46.000Z","size":945,"stargazers_count":487,"open_issues_count":5,"forks_count":116,"subscribers_count":33,"default_branch":"master","last_synced_at":"2024-08-04T10:02:48.142Z","etag":null,"topics":["c","pdf","pdf-document","pdf-generation","simple-api"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AndreRenaud.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-05-29T02:01:38.000Z","updated_at":"2024-07-30T06:12:11.000Z","dependencies_parsed_at":"2024-01-13T15:37:52.614Z","dependency_job_id":"e7f90365-1ab3-4312-a545-a388e2d928d9","html_url":"https://github.com/AndreRenaud/PDFGen","commit_stats":{"total_commits":345,"total_committers":18,"mean_commits":"19.166666666666668","dds":0.6173913043478261,"last_synced_commit":"2352e5d72b6a76b16d657ba0f342746e0f1fcaa1"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndreRenaud%2FPDFGen","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndreRenaud%2FPDFGen/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndreRenaud%2FPDFGen/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndreRenaud%2FPDFGen/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AndreRenaud","download_url":"https://codeload.github.com/AndreRenaud/PDFGen/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225539363,"owners_count":17485313,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","pdf","pdf-document","pdf-generation","simple-api"],"created_at":"2024-08-04T10:00:57.866Z","updated_at":"2024-11-20T11:30:33.916Z","avatar_url":"https://github.com/AndreRenaud.png","language":"C","readme":"PDFGen\n======\n\u003cimg src=\"/docs/pdfgen_logo.png\" alt=\"PDFGen Logo\" width=\"200\" align=\"right\"/\u003e\n\n\u003ca href=\"https://www.buymeacoffee.com/EstIgnavus\" target=\"_blank\"\u003e\u003cimg src=\"https://cdn.buymeacoffee.com/buttons/default-orange.png\" alt=\"Buy Me A Coffee\" height=\"41\" width=\"174\"\u003e\u003c/a\u003e\n\nSimple C PDF Creation/Generation library.\nAll contained a single C-file with header and no external library dependencies.\n\nUseful for embedding into other programs that require rudimentary PDF output.\n\nSupports the following PDF features\n* Text of various fonts/sizes/colours/rotation\n* Primitive drawing elements\n    * Lines\n    * Rectangles\n    * Filled Rectangles\n    * Polygons\n    * Filled Polygons\n    * Bezier curves\n* Bookmarks\n* Barcodes (Code-128 \u0026 Code-39)\n* Embedded images\n    * PPM/PGM (binary format only)\n    * JPEG\n    * PNG (Alpha Channels are not supported)\n    * BMP\n\nExample usage\n=============\n```c\n#include \"pdfgen.h\"\n\nint main(void) {\n    struct pdf_info info = {\n        .creator = \"My software\",\n        .producer = \"My software\",\n        .title = \"My document\",\n        .author = \"My name\",\n        .subject = \"My subject\",\n        .date = \"Today\"\n    };\n    struct pdf_doc *pdf = pdf_create(PDF_A4_WIDTH, PDF_A4_HEIGHT, \u0026info);\n    pdf_set_font(pdf, \"Times-Roman\");\n    pdf_append_page(pdf);\n    pdf_add_text(pdf, NULL, \"This is text\", 12, 50, 20, PDF_BLACK);\n    pdf_add_line(pdf, NULL, 50, 24, 150, 24, 3, PDF_BLACK);\n    pdf_save(pdf, \"output.pdf\");\n    pdf_destroy(pdf);\n    return 0;\n}\n```\n\nLicense\n=======\n[![License: Unlicense](https://img.shields.io/badge/license-Unlicense-blue.svg)](http://unlicense.org/)\n\nThe source here is public domain.\nIf you find it useful, please drop me a line at andre@ignavus.net.\n\nBuilds\n======\nBuild status: [![GitHub Actions](https://github.com/AndreRenaud/PDFGen/workflows/Build%20and%20Test/badge.svg)](https://github.com/AndreRenaud/PDFGen/actions)\n\nAppveyor status: [![Build status](https://ci.appveyor.com/api/projects/status/3qpsmr06xg5gx74j/branch/master?svg=true)](https://ci.appveyor.com/project/AndreRenaud/pdfgen/branch/master)\n\nCode Coverage: [![Coverage Status](https://coveralls.io/repos/github/AndreRenaud/PDFGen/badge.svg?branch=master)](https://coveralls.io/github/AndreRenaud/PDFGen?branch=master)\n\nCoverity scan: [![Coverity scan](https://scan.coverity.com/projects/11942/badge.svg)](https://scan.coverity.com/projects/andrerenaud-pdfgen)\n\nStatic Analysis\n===============\nThis is a code base that I use to test static analysis tools. As such the build system is quite a bit more complex than should be necessary for a project of this size.\n\n## Language Bindings\n- [RingPDFGen](https://github.com/ring-lang/ring/tree/master/extensions/ringpdfgen)\n","funding_links":["https://www.buymeacoffee.com/EstIgnavus"],"categories":["C"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAndreRenaud%2FPDFGen","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FAndreRenaud%2FPDFGen","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAndreRenaud%2FPDFGen/lists"}