『壹』 java如何將pdf轉成html或者word-CSDN論壇
試試PDFBox
我昨天用著生成PDF文檔,還行,挺好用,自帶的example把基本的操作都說明了
至於生成word,用POI;HTML的話,自己解析就可以了
PDFBox是一個開源的可以操作PDF文檔的Java PDF類庫。它可以創建一個新PDF文檔,操作現有PDF文檔並提取文檔中的內容。 它具有以下特性:
1.將一個PDF文檔轉換輸出為一個文本文件。
2.可以從文本文件創建一個PDF文檔。
3.加密/解密PDF文檔。
4.向已有PDF文檔中追加內容。
5.可以從PDF文檔生成一張圖片。
6.可以與Jakarta Lucene搜索引擎的整合
『貳』 pdf轉換成html 用Java代碼實現
不會 你會的告訴我一聲
『叄』 java中html字元串如何完美轉換成pdf文件
1、首先導入itext的jar包,
然後直接上代碼
private static void versionsone(String htmlCode, String pdfPath){
Document document = new Document();
try{
StyleSheet st = new StyleSheet();
st.loadTagStyle("body", "leading", "16,0");
PdfWriter.getInstance(document, new FileOutputStream(pdfPath));
document.open();
BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
Font FontChinese = new Font(bfChinese, 12, Font.NORMAL);
ArrayList<ArrayList> p = HTMLWorker.parseToList(dome_2(htmlCode), st);
for(int k=0;k<p.size();k++){
for(int m=0;m<p.get(k).size();m++){
Paragraph pCode = new Paragraph(p.get(k).get(m).toString(),FontChinese);
document.add(pCode);
}
}
}catch(Exception e){
e.printStackTrace();
}finally{
document.close();
}
}
private static Reader dome_2(String htmlCode){
if(htmlCode != null && !htmlCode.trim().equals("")){
try{
InputStream tInputStringStream = new ByteArrayInputStream(htmlCode.getBytes());
InputStreamReader isr = new InputStreamReader(tInputStringStream,"utf-8");
BufferedReader reader = new BufferedReader(isr);
return reader;
}catch(Exception e){
e.printStackTrace();
}
}
return null;
}
其實此處和別人的最大的不一樣的是,
ArrayList<ArrayList> p = HTMLWorker.parseToList(dome_2(htmlCode), st);
其實剛剛開始我在網上找來的代碼中是這樣寫的「ArrayList p = HTMLWorker.parseToList(dome_2(htmlCode), st);」
但後來我通過debug發現,ArrayList 裡面裝的還是一個集合,然後集合中放得才是真正不含html標簽的字元串。對於普通得文章,一般html標簽一般都是<p></p>
佔大多數。所以我直接用了兩層for循環直接從裡面取得我們想要的字元串。然後直接「Paragraph pCode = new Paragraph(p.get(k).get(m).toString(),FontChinese);」document.add(pCode);這樣就能解決中文問題了
『肆』 java中html怎麼轉換為可編輯pdf文件
Java代碼
//step1
Documentdocument=newDocument();
//step2
PdfWriterwriter=PdfWriter.getInstance(document,newFileOutputStream("pdf.pdf"));
//step3
document.open();
//step4
XMLWorkerHelper.getInstance().parseXHtml(writer,document,
newFileInputStream("index.html"));
//step5
document.close();
System.out.println("PDFCreated!");
Maven構建對應的版本
Xml代碼
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.4.2</version>
</dependency>
<dependency>
<groupId>com.itextpdf.tool</groupId>
<artifactId>xmlworker</artifactId>
<version>5.4.1</version>
</dependency>
『伍』 java 轉 office,pdf 為 html 格式有什麼好建議
openoffice可以作為後台服務啟動運行,監聽在特定埠,java調用即可。
通常2種方式:
1 doc 通過openoffice轉 pdf,再通過pdf2swf轉 swf,然後封裝個閱讀器可以在網頁上閱讀,但無法復制等,起到文檔保護作用。
2 doc 通過openoffice轉 pdf,再通過pdf2png轉圖片,然後可在網頁瀏覽。
至於doc轉html,openoffice似乎也支持。
『陸』 怎樣用Java把html轉為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!" );
}
}
轉換結果:
『柒』 java把html轉成pdf文件
renderer.createPDF( os );捕捉下異常,看是不是跳走廊,在close之前調用os.flush()試試。
String docPath = session.getAttribute("docpath").toString();//獲取文件HTML文件路徑
String inputFile = docPath+"html"; //定義輸入文件全名
String url = new File(inputFile).toURI().toURL().toString();
String outputFile =docPath + "pdf"; //定義輸出文件全名
OutputStream os = new FileOutputStream(outputFile);
ITextRenderer renderer = new ITextRenderer(); 實例化一個ITextRenderer
renderer.setDocument(url);
ITextFontResolver fontResolver = renderer.getFontResolver();
ontResolver.addFont("C:/Windows/fonts/simsun.ttc",BaseFont.IDENTITY_H,BaseFont.NOT_EMBEDDED); //設置字體
// 解決圖片的相對路徑問題
renderer.getSharedContext().setBaseURL("file:/" + application.getRealPath("UserFiles/Image") + "/");
renderer.layout();
renderer.createPDF(os);
os.close();
『捌』 誰會用 java 調用pdftohtml.exe 將pdf轉換為html
額
pdftohtml
好像沒有提供友好的api方法 只能暴力點,你直接通過java運行指令去執行 pdftohtml了
參考
用JAVA代碼實現執行CMD命令的方法!
Runtime rt = Runtime.getRuntime();
Process p = rt.exec(String[] cmdarray); 或者 Process p = rt.exec(String cmd);
cmd命令格式為 "cmd.exe /c ipconfig /all"
對像p為進程,在給p賦值以前,必須保證p為空
if(p != null){
p.destory();
p = null;
}