java将html文件转成pdf

Python022

java将html文件转成pdf,第1张

可以通过使用Spire.Doc for Java进行转换。

首先需要安装Spire.Doc for Java。可在 Java 程序中添加 Spire.Doc for Java 文件作为依赖项。JAR 文件可以从此链接下载。 如果您使用 Maven,则可以将以下代码添加到项目的 pom.xml 文件中,从而轻松地在应用程序中导入 JAR 文件。

<repositories>

<repository>

<id>com.e-iceblue</id>

<name>e-iceblue</name>

<url>https://repo.e-iceblue.cn/repository/maven-public/</url>

</repository></repositories><dependencies>

<dependency>

<groupId>e-iceblue</groupId>

<artifactId>spire.doc</artifactId>

<version>5.2.3</version>

</dependency></dependencies>

具体分为以下两种情况:

HTML String另存为PDF格式

Java代码如下:

import com.spire.doc.*import java.io.*public class htmlStringToWord {

public static void main(String[] args) throws Exception {

String inputHtml = "InputHtml.txt"

//新建Document对象

Document document = new Document()

//添加section

Section sec = document.addSection()

String htmlText = readTextFromFile(inputHtml)

//添加段落并写入HTML文本

sec.addParagraph().appendHTML(htmlText)

//文档另存为PDF

document.saveToFile("HTMLstringToPDF.pdf", FileFormat.PDF)

}

public static String readTextFromFile(String fileName) throws IOException{

StringBuffer sb = new StringBuffer()

BufferedReader br = new BufferedReader(new FileReader(fileName))

String content = null

while ((content = br.readLine()) != null) {

sb.append(content)

}

return sb.toString()

}

}

2.HTML file另存为PDF格式

import com.spire.doc.*import com.spire.doc.documents.XHTMLValidationTypepublic class htmlFileToWord {

public static void main(String[] args) throws Exception {

//加载HTML文档

Document document = new Document()

document.loadFromFile("InputHtmlFile.html", FileFormat.Html, XHTMLValidationType.None)

//文档另存为PDF

document.saveToFile("Result.pdf",FileFormat.PDF)

}

}

希望对您有帮助。

java中利用第三方jar包iText 5.4.2就可以实现html转为pdf。

比如有如下index.html文件:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<title>HTML to PDF</title>

<link href="style.css" rel="stylesheet" type="text/css" />

</head>

<body>

<h1>HTML to PDF</h1>

<p>

<span class="itext">itext</span>5.4.2 <span class="description">converting HTML to PDF</span>

</p>

<table>

<tr>

<th class="label">Title</th>

<td>iText - Java HTML to PDF</td>

</tr>

<tr>

<th>URL</th>

<td>http://hmkcode.com/itext-html-to-pdf-using-java</td>

</tr>

</table>

</body>

</html>

样式文件:

h1 {

color:#ccc

}

table tr td{

text-align:center

border:1px solid gray

padding:4px

}

table tr th{

background-color:#84C7FD

color:#fff

width: 100px

}

.itext{

color:#84C7FD

font-weight:bold

}

.description{

color:gray

}

后台转换的接口:

package com.hmkcode

import java.io.FileInputStream

import java.io.FileOutputStream

import java.io.IOException

import com.itextpdf.text.Document

import com.itextpdf.text.DocumentException

import com.itextpdf.text.pdf.PdfWriter

import com.itextpdf.tool.xml.XMLWorkerHelper

public class App

{

public static void main( String[] args ) throws DocumentException, IOException

{

// step 1

Document document = new Document()

// step 2

PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("pdf.pdf"))

// step 3

document.open()

// step 4

XMLWorkerHelper.getInstance().parseXHtml(writer, document,

new FileInputStream("index.html"))

//step 5

document.close()

System.out.println( "PDF Created!" )

}

}

转换结果: