我们在工作或者学习当中,经常想用到一个功能,就是想把一个HTML页面转换成一个PDF文档。我们一般的做法就是把这个HTML页面拷贝到Office的Word文档里面;然后通过Word的自带的工具把Word转换成一个PDF文档;但是有的时候,我们需要在我们的程序中把一个HTML页面或者一段能渲染程HTML页面的代码转换成PDF页面,这个时候,我们应该这么做呢?在这里可以给大家推荐一个在线的网站,https://pdfcrowd.com/html-to-pdf-api/,在这个网站上,大家可以免费注册一个账号,这个试用账号可以生成100份PDF的文档。API调用的方式非常简单,
Step1.用自己的邮箱注册一个用户账号(比如:henryzhu),被注册的邮箱将会收到一个唯一标示用户的值(比如,096c8a2953b993db5b02341274393623)。
Step2.去https://pdfcrowd.com/static/clients/java/pdfcrowd-2.6-java.zip下载一个jar包
Step3.创建一个Eclipse的项目,把Step2中的下载下来的包添加到Build Path中,然后运行下面的实例代码。
import com.pdfcrowd.*; import java.io.*; public class PdfcrowdTest { public static void main(String[] args) { try { FileOutputStream fileStream; // create an API client instance Client client = new Client("henryzhu", "096c8a2953b993db5b02341274393623"); // convert a web page and save the PDF to a file fileStream = new FileOutputStream("google_com.pdf"); client.convertURI("http://www.google.com/", fileStream); fileStream.close(); // convert an HTML string and store the PDF into a byte array ByteArrayOutputStream memStream = new ByteArrayOutputStream(); String html = "<head></head><body>My HTML Layout</body>"; client.convertHtml(html, memStream); // convert an HTML file fileStream = new FileOutputStream("file.pdf"); client.convertFile("e:/pdftest/file.html", fileStream); fileStream.close(); // retrieve the number of tokens in your account Integer ntokens = client.numTokens(); } catch(PdfcrowdError why) { System.err.println(why.getMessage()); } catch(IOException exc) { // handle the exception } } }
如何在线把一个HTML页面转换成一个PDF文档?,布布扣,bubuko.com
原文:http://blog.csdn.net/chancein007/article/details/29822487