用java代码写pdf java 写pdf

如何用纯java代码实现word转pdf

1. 需要用的软件

创新互联建站专注为客户提供全方位的互联网综合服务,包含不限于网站设计制作、做网站、奉贤网络推广、微信小程序定制开发、奉贤网络营销、奉贤企业策划、奉贤品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联建站为所有大学生创业者提供奉贤建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com

OpenOffice 下载地址

JodConverter 下载地址

2.启动OpenOffice的服务

安装完openoffice,安装服务

cd C:\Program Files (x86)\OpenOffice 4\program

执行

soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard

查看是否安装成功,查看端口对应的pid

netstat -ano|findstr "8100"

查看pid对应的服务程序名

tasklist|findstr "pid值"

3.将JodConverter相关的jar包添加到项目中

4. 下面是实现代码

/**

* 将Office文档转换为PDF. 运行该函数需要用到OpenOffice, OpenOffice下载地址为

*

*

* pre

* 方法示例:

* String sourcePath = "F:\\office\\source.doc";

* String destFile = "F:\\pdf\\dest.pdf";

* Converter.office2PDF(sourcePath, destFile);

* /pre

*

* @param sourceFile

* 源文件, 绝对路径. 可以是Office2003-2007全部格式的文档, Office2010的没测试. 包括.doc,

* .docx, .xls, .xlsx, .ppt, .pptx等. 示例: F:\\office\\source.doc

* @param destFile

* 目标文件. 绝对路径. 示例: F:\\pdf\\dest.pdf

* @return 操作成功与否的提示信息. 如果返回 -1, 表示找不到源文件, 或url.properties配置错误; 如果返回 0,

* 则表示操作成功; 返回1, 则表示转换失败

*/

public static int office2PDF(String sourceFile, String destFile) {

try {

File inputFile = new File(sourceFile);

if (!inputFile.exists()) {

return -1;// 找不到源文件, 则返回-1

}

// 如果目标路径不存在, 则新建该路径

File outputFile = new File(destFile);

if (!outputFile.getParentFile().exists()) {

outputFile.getParentFile().mkdirs();

}

// connect to an OpenOffice.org instance running on port 8100

OpenOfficeConnection connection = new SocketOpenOfficeConnection(

"127.0.0.1", 8100);

connection.connect();

// convert

DocumentConverter converter = new OpenOfficeDocumentConverter(

connection);

converter.convert(inputFile, outputFile);

// close the connection

connection.disconnect();

return 0;

} catch (FileNotFoundException e) {

e.printStackTrace();

return -1;

} catch (ConnectException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

return 1;

}

望采纳!

怎么用java代码生成pdf文档

import java.io.File;  

import java.io.FileOutputStream;  

import java.io.IOException;  

import com.itextpdf.text.*;  

import com.itextpdf.text.pdf.PdfWriter;  

public class PdfTest  

{  

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

{  

Document pdfDoc = new Document();  

// 将要生成的 pdf 文件的路径输出流  

FileOutputStream pdfFile =   

new FileOutputStream(new File("F:/study/test/firstPdf.pdf"));  

// pdf 文件中的一个文字段落  

Paragraph paragraph = new Paragraph("My first PDF file with an image ...");  

Image image = Image.getInstance("F:/study/test/洛克 李.jpg");  

// 用 Document 对象、File 对象获得 PdfWriter 输出流对象  

PdfWriter.getInstance(pdfDoc, pdfFile);  

pdfDoc.open();  // 打开 Document 文档  

// 添加一个文字段落、一张图片  

pdfDoc.add(paragraph);  

pdfDoc.add(image);  

pdfDoc.close();  

}  

}

java创建pdf文件写入不进去

通常需要用到用于读、写、编辑PDF文件的库,你可以参考下面采用spire.pdf.jar来创建PDF的步骤及方法:

首先需要引入jar包。具体的引入方法可以自行百度搜索。

创建PdfDocument类的对象,并通过PdfDocument.getPages().add()方法添加页码。

定义标题文字。

创建PdfSolidBrush 画刷、PdfTrueTypeFont 字体、PdfStringFormat字符串、Rectangle2D等对象,用于指定字符串绘制效果、字体、格式、绘制区域等。

通过PdfPageBase.getCanvas().drawString(body, font2, brush2, rect, format2)方法将内容绘制到PDF页面。

下面附上详细的代码demo示例:

import com.spire.pdf.*;

import com.spire.pdf.graphics.*;

import java.awt.*;

import java.awt.geom.*;

import java.io.*;

public class CreatePdfDocumentInJava {

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

//创建PdfDocument对象

PdfDocument doc = new PdfDocument();

//添加一页

PdfPageBase page = doc.getPages().add();

//标题文字

String title = "Java基础语法";

//创建单色画刷对象

PdfSolidBrush brush1 = new PdfSolidBrush(new PdfRGBColor(Color.BLUE));

PdfSolidBrush brush2 = new PdfSolidBrush(new PdfRGBColor(Color.BLACK));

//创建TrueType字体对象

PdfTrueTypeFont font1 = new PdfTrueTypeFont(new Font("宋体", Font.PLAIN, 14), true);

PdfTrueTypeFont font2 = new PdfTrueTypeFont(new Font("宋体", Font.PLAIN, 10), true);

//创建PdfStringFormat对象

PdfStringFormat format1 = new PdfStringFormat();

format1.setAlignment(PdfTextAlignment.Center);//设置文字居中

//使用drawString方法绘制标题文字

page.getCanvas().drawString(title, font1, brush1, new Point2D.Float((float) page.getActualBounds(true).getWidth() / 2, 0), format1);

//从txt文件读取内容到字符串

String body = readFileToString("C:\\Users\\Administrator\\Desktop\\bodyText.txt");

//创建PdfStringFormat对象

PdfStringFormat format2 = new PdfStringFormat();

format2.setParagraphIndent(20);//设置段首缩进

//创建Rectangle2D对象

Rectangle2D.Float rect = new Rectangle2D.Float(0, 30, (float) page.getActualBounds(true).getWidth(), (float) page.getActualBounds(true).getHeight());

//使用drawString方法在矩形区域绘制主体文字

page.getCanvas().drawString(body, font2, brush2, rect, format2);

//保存到PDF文档

doc.saveToFile("ouput.pdf");

}

//自定义方法读取txt文件内容到字符串

private static String readFileToString(String filepath) throws FileNotFoundException, IOException {

StringBuilder sb = new StringBuilder();

String s = "";

BufferedReader br = new BufferedReader(new FileReader(filepath));

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

sb.append(s + "\n");

}

br.close();

String str = sb.toString();

return str;

}

}


当前名称:用java代码写pdf java 写pdf
本文网址:http://pwwzsj.com/article/dojicih.html