# java-wkhtmltopdf-wrapper **Repository Path**: spps/java-wkhtmltopdf-wrapper ## Basic Information - **Project Name**: java-wkhtmltopdf-wrapper - **Description**: A Java wrapper for wkhtmltopdf - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2021-11-03 - **Last Updated**: 2024-07-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README Java WkHtmlToPdf Wrapper [![Build Status](https://travis-ci.org/jhonnymertz/java-wkhtmltopdf-wrapper.svg?branch=master)](https://travis-ci.org/jhonnymertz/java-wkhtmltopdf-wrapper) ========= A Java based wrapper for the [wkhtmltopdf](http://wkhtmltopdf.org/) command line tool. As the name implies, it uses WebKit to convert HTML documents to PDFs. Requirements ------------ **[wkhtmltopdf](http://wkhtmltopdf.org/) must be installed and working on your system.** ### Wrapper project dependency Make sure you have Java Wrapper dependency added to your project. If you are using Gradle/Maven, see example below: #### Gradle In your `build.gradle`: ```groovy dependencies { compile 'com.github.jhonnymertz:java-wkhtmltopdf-wrapper:1.1.10-RELEASE' } ``` #### Maven In your `pom.xml`: ```xml com.github.jhonnymertz java-wkhtmltopdf-wrapper 1.1.10-RELEASE ``` Usage and Examples ------------ ``` Pdf pdf = new Pdf(); pdf.addPageFromString("

Müller

"); pdf.addPageFromUrl("http://www.google.com"); // Add a Table of Contents pdf.addToc(); // The `wkhtmltopdf` shell command accepts different types of options such as global, page, headers and footers, and toc. Please see `wkhtmltopdf -H` for a full explanation. // All options are passed as array, for example: pdf.addParam(new Param("--no-footer-line"), new Param("--header-html", "file:///header.html")); pdf.addParam(new Param("--enable-javascript")); // Add styling for Table of Contents pdf.addTocParam(new Param("--xsl-style-sheet", "my_toc.xsl")); // Save the PDF pdf.saveAs("output.pdf"); ``` ### Xvfb Support ``` XvfbConfig xc = new XvfbConfig(); xc.addParams(new Param("--auto-servernum"), new Param("--server-num=1")); WrapperConfig wc = new WrapperConfig(); wc.setXvfbConfig(xc); Pdf pdf = new Pdf(wc); pdf.addPageFromUrl("http://www.google.com"); pdf.saveAs("output.pdf"); ``` ### wkhtmltopdf exit codes wkhtmltopdf may return non-zero exit codes to denote warnings, you can now set the Pdf object to allow this: ``` Pdf pdf = new Pdf(wc); pdf.addPageFromUrl("http://www.google.com"); pdf.setAllowMissingAssets(); // or: pdf.setSuccessValues(Arrays.asList(0, 1)); pdf.saveAs("output.pdf"); ``` This is not an official Wkhtmltopdf product ------------ This library is not an official Wkhtmltopdf product. Support is available on a best-effort basis via github issue tracking. Pull requests are welcomed. Bugs ------------ - Tests are incomplete Known issues ------------ **Output of wkhtmltopdf is being added to resulting pdf** ([Issue #19](https://github.com/jhonnymertz/java-wkhtmltopdf-wrapper/issues/19)) - Starting from 1.1.10-RELEASE version, there is a method `saveAsDirect(String path)`, which executes wkhtmltopdf passing the `path` as output for wkhtmltopdf, instead of the standard input `-`. This saves the results directly to the specified file `path`. License ------------ This project is available under MIT Licence.