Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/michaelrsweet/pdfio

PDFio is a simple C library for reading and writing PDF files.
https://github.com/michaelrsweet/pdfio

c pdf pdf-document pdf-document-api pdf-document-processor pdf-generation

Last synced: 5 days ago
JSON representation

PDFio is a simple C library for reading and writing PDF files.

Awesome Lists containing this project

README

        

pdfio - PDF Read/Write Library
==============================

![Version](https://img.shields.io/github/v/release/michaelrsweet/pdfio?include_prereleases)
![Apache 2.0](https://img.shields.io/github/license/michaelrsweet/pdfio)
[![Build Status](https://img.shields.io/github/workflow/status/michaelrsweet/pdfio/Build)](https://github.com/michaelrsweet/pdfio/actions/workflows/build.yml)
[![Coverity Scan Status](https://img.shields.io/coverity/scan/22385.svg)](https://scan.coverity.com/projects/michaelrsweet-pdfio)

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 () 1.1 or higher

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

Documentation
-------------

See the man page (`pdfio.3`) and full HTML documentation (`pdfio.html`) for
information on using PDFio.

Installing PDFio
----------------

PDFio uses a configure script on Unix systems to generate a makefile:

./configure

If you want a shared library, run:

./configure --enable-shared

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

./configure --prefix=/some/other/directory

Once configured, run the following to make the library:

make all

To test it, run:

make test

To install it, run:

sudo make install

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

Legal Stuff
-----------

PDFio is Copyright © 2021-2024 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.