Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/Techprimate/TPPDF

TPPDF is a simple-to-use PDF builder for iOS and macOS written in Swift
https://github.com/Techprimate/TPPDF

builder cocoapods generator ios pdf swift

Last synced: 6 days ago
JSON representation

TPPDF is a simple-to-use PDF builder for iOS and macOS written in Swift

Awesome Lists containing this project

README

        


TPPDF



TPPDF is a fast PDF builder for iOS & macOS using simple commands to create advanced documents!



Supported Swift Versions


Supported Platforms

License


Swift Package Manager
Cocoapods
Carthage


Created and maintained by Philip Niedertscheider and all the amazing contributors.


Features
Getting Started
Communication
Usage
Installation
Credits
License

## Features

- [x] Page header and footer
- [x] Dynamic content layout with page alignment
- [x] Support for tables and cell alignment
- [x] Attributed strings
- [x] Custom spacing
- [x] Image support
- [x] Horizontal line separators
- [x] Custom indentation
- [x] Custom top offset (good for layered rendering)
- [x] Pagination
- [x] Image caption
- [x] Compress images
- [x] Custom image size fit
- [x] Images in the header and footer
- [x] Horizontal line separators in the header and footer
- [x] Generate PDF files directly to handle large PDF files ([Details](http://stackoverflow.com/questions/14691264/how-can-i-lower-memory-climb-when-generating-large-pdfs))
- [x] PDF metadata
- [x] Custom table styling
- [x] Multi-column sections
- [x] Swift Package Manager Support
- [x] Tables with cell merging & automatic page breaking
- [x] Hyperlinks in text
- [x] Native progress tracking using `Foundation.Progress`

## Getting Started

Building a PDF document is very easy:

First, you create a document with a paperformat...

```swift
let document = PDFDocument(format: .a4)
```

...then you add your information to a container...

```swift
document.add(.contentCenter, text: "Create PDF documents easily.")
```

...then you render the document...

```swift
let generator = PDFGenerator(document: document)
let url = try generator.generateURL(filename: "Example.pdf")
```

**...done!**

If you need more details, checkout [Usage](https://github.com/techprimate/TPPDF/blob/main/Documentation/Usage.md).

## Communication

**Attention:**

TPPDF is an Open Source side-project of [techprimate](https://techprimate.com/).
As we are currently working on multiple other projects, we only have limited time for fixing bugs and enhancing TPPDF.

That's why any issue reporting and especially **Pull Requests** are very welcome!

If you need professional support for your company, you can reach out to [@philprimes](https://twitter.com/philprimes) on Twitter or on our website [techprimate.com](https://techprimate.com/contact)!
This is mainly for custom or high-priority requests, therefore we won't publish a consulting pricing for now.

For everything else, please see [Communication](#communication) and [this message](https://github.com/techprimate/TPPDF/issues/250). Thank you!

- If you **need help**, open an [issue](https://github.com/techprimate/TPPDF/issues/new?template=bug_report.md).
- If you **found a bug**, open an [issue](https://github.com/techprimate/TPPDF/issues/new?template=bug_report.md).
- If you **have a feature request**, open an [issue](https://github.com/techprimate/TPPDF/issues/new?template=feature_request.md).
- If you **want to contribute**, submit a [pull request](https://github.com/techprimate/TPPDF/compare).

## Example

Take a look at the [Getting Started Guide](https://github.com/techprimate/TPPDF/blob/main/Documentation/Usage.md#getting-started) or checkout the Examples (using of one of the following):

- Clone the repository and open the `Examples.xcworkspace`
- Run the `Example macOS (SPM)` or `Example macOS (iOS)`

## Apps using TPPDF

If you are using TPPDF in your app and want to be listed here, simply create a pull request or let us know on Twitter or via GitHub. We are always curious to see, who is using our project :)




Burnout Coach




ChatHistory




Hikingbook




Bug Journal




EnergyTracker




Lyrcs





Burnout Coach

by Stéphane Mégy


ChatHistory

by techprimate


Hikingbook

by Zheng-Xiang Ke


Bug Journal

by David Johnson


EnergyTracker

by Stefan Nebel


Lyrcs

by ptrkstr

## Credits

TPPDF is created and maintained by Philip Niedertscheider, co-founder of [techprimate](https://www.github.com/techprimate).



techprimate.com


twitter

### Contributors

Please consider backing this project by using the following **GitHub Sponsor** button.

We want to thank all [contributors](https://github.com/techprimate/TPPDF/graphs/contributors) for their effort!