PrintingKit

0.5.2

PrintingKit is a Swift SDK that helps you print images, strings, views, PDFs etc. in Swift and SwiftUI.
danielsaidi/PrintingKit

What's New

2024-05-29T05:47:49Z

This version removes actor information from the PdfDataSource protocol.

PrintingKit Logo

Version Swift 5.9 Swift UI MIT License Twitter: @danielsaidi Mastodon: @danielsaidi@mastodon.social

About PrintingKit

PrintingKit is a Swift SDK that helps you print images, strings, views, PDFs etc. in Swift and SwiftUI.

With PrintingKit, you just have to create a Printer instance, or use Printer.shared, then use it to print any of these supported PrintItem types:

  • .attributedString(_:configuration:) - an attributed string.
  • .imageData(_:) - JPG or PNG data.
  • .imageFile(at:) - a JPG or PNG file at a certain URL.
  • .pdfData(_:) - PDF document data.
  • .pdfFile(at:) - a PDF document file at a certain URL.
  • .string(_:configuration:) - a plain string.
  • .view(_:withScale:) - a SwiftUI view.

More types can be added in the future. Feel free to contribute if you have a new type that you'd like to support.

Installation

PrintingKit can be installed with the Swift Package Manager:

https://github.com/danielsaidi/PrintingKit.git

Getting started

To print any of supported print item type, just create a Printer instance, or use Printer.shared:

struct MyView: View {

    let printer = Printer.shared

    var body: some View {
        VStack {
            Button("Print PDF") {
                try? printer.print(.pdf(at: anyUrl))
            }
            Button("Print view") {
                try? printer.print(image)
            }
            Button("Print view without try") {
                printer.printInTask(image)
            }
        }
    }
}

For more information, please see the getting started guide.

Documentation

The online documentation has more information, articles, code examples, etc.

Demo Application

The demo app lets you explore the library. To try it out, just open and run the Demo project.

Support my work

You can sponsor me on GitHub Sponsors or reach out for paid support, to help support my open-source projects.

Your support makes it possible for me to put more work into these projects and make them the best they can be.

Contact

Feel free to reach out if you have questions or if you want to contribute in any way:

License

PrintingKit is available under the MIT license. See the LICENSE file for more info.

Description

  • Swift Tools 5.9.0
View More Packages from this Author

Dependencies

  • None
Last updated: Sat Dec 07 2024 23:28:54 GMT-1000 (Hawaii-Aleutian Standard Time)