Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/Techprimate/TPPDF
- Owner: techprimate
- License: mit
- Created: 2016-08-16T00:43:33.000Z (over 8 years ago)
- Default Branch: main
- Last Pushed: 2024-11-05T15:09:55.000Z (about 1 month ago)
- Last Synced: 2024-11-06T09:09:54.679Z (about 1 month ago)
- Topics: builder, cocoapods, generator, ios, pdf, swift
- Language: Swift
- Homepage: https://techprimate.github.io/TPPDF/
- Size: 24.7 MB
- Stars: 741
- Watchers: 18
- Forks: 125
- Open Issues: 32
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-ios - TPPDF - Generate PDF using commands and automatic layout. (Media / PDF)
- awesome-ios-star - TPPDF - Generate PDF using commands and automatic layout. (Media / PDF)
README
TPPDF is a fast PDF builder for iOS & macOS using simple commands to create advanced documents!
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
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).
### 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!