All Projects → michaelrsweet → pdfio

michaelrsweet / pdfio

Licence: Apache-2.0 license
PDFio is a simple C library for reading and writing PDF files.

Programming Languages

c
50402 projects - #5 most used programming language
Makefile
30231 projects
shell
77523 projects

Projects that are alternatives of or similar to pdfio

scryber.core
Scryber.Core is a dotnet 5 html to pdf engine written entirely in C# for creating beautiful flowing documents from html templates including css styles, object data binding and svg drawing.
Stars: ✭ 74 (+34.55%)
Mutual labels:  pdf-document, pdf-generation
Android-XML-to-PDF-Generator
This library is for convert XML to PDF very easily using Step Builders Pattern
Stars: ✭ 140 (+154.55%)
Mutual labels:  pdf-document, pdf-generation
pdfconduit
Prepare documents for distribution
Stars: ✭ 22 (-60%)
Mutual labels:  pdf-generation, pdf-document-processor
Expense Tracker with Pdf report
An expense Tracker 🔥🔥 which lets you add transactions 🖊🖊 and generate a pdf report of all of your transactions📋📋
Stars: ✭ 16 (-70.91%)
Mutual labels:  pdf-document, pdf-generation
Labelmake
Declarative style JavaScript PDF generator library. Works on Node and the browser 🖨︎
Stars: ✭ 112 (+103.64%)
Mutual labels:  pdf-document, pdf-generation
Printable Mockups
Create printable UI mockups & wireframes templates
Stars: ✭ 479 (+770.91%)
Mutual labels:  pdf-document, pdf-generation
pdftron-android-samples
PDFTron Android Samples
Stars: ✭ 30 (-45.45%)
Mutual labels:  pdf-document, pdf-generation
Go Wkhtmltopdf
Golang commandline wrapper for wkhtmltopdf
Stars: ✭ 564 (+925.45%)
Mutual labels:  pdf-document, pdf-generation
Pdfgen
Simple C PDF Writer/Generation library
Stars: ✭ 200 (+263.64%)
Mutual labels:  pdf-document, pdf-generation
laravel-print-api
Laravel package to access our print-api
Stars: ✭ 16 (-70.91%)
Mutual labels:  pdf-document, pdf-generation
designfactory-app
A project that generates pdf documents from design templates from Figma + your own data via the GUI or REST API.
Stars: ✭ 30 (-45.45%)
Mutual labels:  pdf-generation
rig
RIG - A Randomised ID Card Generator
Stars: ✭ 20 (-63.64%)
Mutual labels:  pdf-generation
Task2pdf
Kanboard - Task2PDF
Stars: ✭ 48 (-12.73%)
Mutual labels:  pdf-generation
clj-pdf-markdown
Library for rendering markdown to clj-pdf data-structure syntax.
Stars: ✭ 20 (-63.64%)
Mutual labels:  pdf-generation
Open-PDF-File-Android-Example
An example project to demonstrate how to open a PDF file in Android programmatically
Stars: ✭ 57 (+3.64%)
Mutual labels:  pdf-document
easy-resume
🎉 A less is more online resume editor!
Stars: ✭ 116 (+110.91%)
Mutual labels:  pdf-generation
api2pdf.php
PHP client library for the Api2Pdf.com REST API - Convert HTML to PDF, URL to PDF, Office Docs to PDF, Merge PDFs, HTML to Image, URL to Image, HTML to Docx, HTML to Xlsx, PDF to HTML, Thumbnail preview of office files
Stars: ✭ 42 (-23.64%)
Mutual labels:  pdf-generation
pdfbox
📄◻️ Create, Maniuplate and Extract Data from PDF Files (R Apache PDFBox wrapper)
Stars: ✭ 46 (-16.36%)
Mutual labels:  pdf-document
atto
PDF renderer for Mapbox-GL-Native
Stars: ✭ 27 (-50.91%)
Mutual labels:  pdf-generation
carbone
Fast and simple report generator, from JSON to pdf, xslx, docx, odt...
Stars: ✭ 810 (+1372.73%)
Mutual labels:  pdf-generation

pdfio - PDF Read/Write Library

Version Apache 2.0 Build Status Coverity Scan Status LGTM Grade LGTM Alerts

PDFio is a simple C library for reading and writing PDF files. The primary goals of PDFio are:

  • Read and write any version of PDF file
  • Provide access to pages, objects, and streams within a PDF file
  • Support reading and writing of encrypted PDF files
  • Extract or embed useful metadata (author, creator, page information, etc.)
  • "Filter" PDF files, for example to extract a range of pages or to embed fonts that are missing from a PDF
  • Provide access to objects used for each page

PDFio is not concerned with rendering or viewing a PDF file, although a PDF RIP or viewer could be written using it.

Requirements

PDFio requires the following to build the software:

  • A C99 compiler such as Clang, GCC, or MS Visual C
  • A POSIX-compliant make program
  • ZLIB (https://www.zlib.net) 1.0 or higher

IDE files for Xcode (macOS/iOS) and Visual Studio (Windows) are also provided.

Documentation

See the man page (pdfio.3), frequently ask questions (FAQ.md), and full HTML documentation (pdfio.html) for information on using PDFio.

Installing pdfio

PDFio comes with a portable makefile that will work on any POSIX-compliant system with ZLIB installed. To make it, run:

make all

To test it, run:

make test

To install it, run:

make install

If you want a shared library, run:

make all-shared
make install-shared

The default installation location is "/usr/local". Pass the prefix variable to make to install it to another location:

make install prefix=/some/other/directory

The makefile installs the pdfio header to "${prefix}/include", the library to "${prefix}/lib", the pkg-config file to "${prefix}/lib/pkgconfig", the man page to "${prefix}/share/man/man3", and the documentation to "${prefix}/share/doc/pdfio".

The makefile supports the following variables that can be specified in the make command or as environment variables:

  • AR: the library archiver (default "ar")
  • ARFLAGS: options for the library archiver (default "cr")
  • CC: the C compiler (default "cc")
  • CFLAGS: options for the C compiler (default "")
  • CODESIGN_IDENTITY: the identity to use when code signing the shared library on macOS (default "Developer ID")
  • COMMONFLAGS: options for the C compiler and linker (typically architecture and optimization options, default is "-Os -g")
  • CPPFLAGS: options for the C preprocessor (default "")
  • DESTDIR and DSTROOT: specifies a root directory when installing (default is "", specify only one)
  • DSOFLAGS: options for the C compiler when linking the shared library (default "")
  • LDFLAGS: options for the C compiler when linking the test programs (default "")
  • LIBS: library options when linking the test programs (default "-lz")
  • RANLIB: program that generates a table-of-contents in a library (default "ranlib")
  • prefix: specifies the installation directory (default "/usr/local")

Visual Studio Project

The Visual Studio solution ("pdfio.sln") is provided for Windows developers and generates the PDFIO1 DLL. You can also use NuGet to install the pdfio_native package.

Xcode Project

There is also an Xcode project ("pdfio.xcodeproj") you can use on macOS which generates a static library that will be installed under "/usr/local" with:

sudo xcodebuild install

You can reproduce this with the makefile using:

sudo make macos install

Legal Stuff

PDFio is Copyright © 2021-2022 by Michael R Sweet.

This software is licensed under the Apache License Version 2.0 with an (optional) exception to allow linking against GPL2/LGPL2 software. See the files "LICENSE" and "NOTICE" for more information.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].