Skip to content

wkhtmltopdf native library JNI wrapper for java. WKhtmltoPDF的java版API

Notifications You must be signed in to change notification settings

SW-Fantastic/wkhtmltopdf4j

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WhtmlToPDF java binding

摘要

这个是WkHtmltoPDF的wrapper,本wrapper通过java的jni技术编写, 不需要使用命令行,不需要额外的安装。

本项目通过CMake进行编译,需要WkhtmltoPDF的类库。

this is a wrapper of WhtmlToPDF native library with java jni.

we can use this library to convert any html file to a pdf.

by the time you need it , clone my standlongs project first, install the libloader to your native maven repository

this is a test code to show how can you use it:

public class Test {

	public static void main(String[] args) {

	    // Load Narive libs
		PlatformLoader loader = new PlatformLoader();
		loader.load(new File("dist/WKHtmlPDF.xml"));

		// converter is available now
		WKHtmlPDFConverter conv = new WKHtmlPDFConverter();
		// you can put logger here
		conv.setOnProgress(i -> {
			System.err.println("Progress is " + i);
		});
		conv.setOnMesssage(e -> {
			System.err.println("Message : " + e);;
		});
		conv.convert(new File("test.html"), new File("test.pdf"));
		conv.convert("<h1>Hello</h1>", new File("Demo.pdf"));
	}
	
}

如何构建

构建本项目前,请在Release中下载WKHtmlToPDF的动态链接库,并将 它们解压到dependencies目录内,否则构建将会失败。

目前本项目使用CMake,您可以使用CMake在Windows或者MacOS构建此项目, 通常来说,如果您已经安装了CMake并且把它配置在系统的环境变量——Path中, 那么通过以下指令就能够构建此项目:

mkdir ./Build
cd Build
cmake ..
# 接下来要做的事情取决于你使用的构建系统。
# 如果生成的是Makefile,那么只需要执行此命令即可
make

Windows系统需要在MSYS2进行构建,MacOS系统需要您安装XCode,至少是XCode的构建工具。

局限

本组件只能单线程转换PDF,一个一个的被HTML或者String的执行转换,不能多线程同时操作,因此效率比较有限, 这是因为Qt的渲染只能在Qt的ApplicationThread运行。

limitation

the wrapper working on a single thread,because render operation must be call on Qt Application thread。

About

wkhtmltopdf native library JNI wrapper for java. WKhtmltoPDF的java版API

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published