Java 请给出一个使用documents4j将Word文件简单转换为PDF格式的明确示例?
我有一个简单的Word文件,我想使用Java 请给出一个使用documents4j将Word文件简单转换为PDF格式的明确示例?,java,pdf,docx,documents4j,Java,Pdf,Docx,Documents4j,我有一个简单的Word文件,我想使用documents4japi将其转换为PDF。已经搜索了几个小时,但还没有找到如何编写代码。我只需要一个基本的工作代码。在pom.xml中添加所需的依赖项 i、 e com.documents4j 文档4J api 0.2.1 com.documents4j 文档4j util转换 0.2.1 com.documents4j 文件4J变压器 0.2.1 com.documents4j 文档4j util all 0.2.1 com.documents4j 文
documents4j
api将其转换为PDF。已经搜索了几个小时,但还没有找到如何编写代码。我只需要一个基本的工作代码。在pom.xml中添加所需的依赖项
i、 e
com.documents4j
文档4J api
0.2.1
com.documents4j
文档4j util转换
0.2.1
com.documents4j
文件4J变压器
0.2.1
com.documents4j
文档4j util all
0.2.1
com.documents4j
文档4J本地
0.2.1
com.documents4j
文档4J本地演示
0.2.1
并使用以下代码段将文档转换为PDF。
在下面的示例中,我将RTF文件转换为PDF
ByteArrayOutputStream bo = new ByteArrayOutputStream();
InputStream in = new BufferedInputStream(new FileInputStream("C:\\PDF\\RichText1.rtf"));
IConverter converter = LocalConverter.builder()
.baseFolder(new File("C:\\PDF\\"))
.workerPool(20, 25, 2, TimeUnit.SECONDS)
.processTimeout(5, TimeUnit.SECONDS)
.build();
Future<Boolean> conversion = converter
.convert(in).as(DocumentType.RTF)
.to(bo).as(DocumentType.PDF)
.prioritizeWith(1000) // optional
.schedule();
ByteArrayOutputStream bo=newbytearrayoutputstream();
InputStream in=new BufferedInputStream(新文件InputStream(“C:\\PDF\\RichText1.rtf”);
IConverter converter=LocalConverter.builder()
.baseFolder(新文件(“C:\\PDF\\”)
.workerPool(20,25,2,时间单位为秒)
.processTimeout(5,时间单位为秒)
.build();
未来转换=转换器
.convert(in).as(DocumentType.RTF)
.to(bo.as)(DocumentType.PDF)
.prioritywith(1000)//可选
.附表();
因此,所需的转换文件将存储在此处的ByteArrayOutputStream对象(bo)中。在pom.xml中添加所需的依赖项 i、 e
com.documents4j
文档4J api
0.2.1
com.documents4j
文档4j util转换
0.2.1
com.documents4j
文件4J变压器
0.2.1
com.documents4j
文档4j util all
0.2.1
com.documents4j
文档4J本地
0.2.1
com.documents4j
文档4J本地演示
0.2.1
并使用以下代码段将文档转换为PDF。
在下面的示例中,我将RTF文件转换为PDF
ByteArrayOutputStream bo = new ByteArrayOutputStream();
InputStream in = new BufferedInputStream(new FileInputStream("C:\\PDF\\RichText1.rtf"));
IConverter converter = LocalConverter.builder()
.baseFolder(new File("C:\\PDF\\"))
.workerPool(20, 25, 2, TimeUnit.SECONDS)
.processTimeout(5, TimeUnit.SECONDS)
.build();
Future<Boolean> conversion = converter
.convert(in).as(DocumentType.RTF)
.to(bo).as(DocumentType.PDF)
.prioritizeWith(1000) // optional
.schedule();
ByteArrayOutputStream bo=newbytearrayoutputstream();
InputStream in=new BufferedInputStream(新文件InputStream(“C:\\PDF\\RichText1.rtf”);
IConverter converter=LocalConverter.builder()
.baseFolder(新文件(“C:\\PDF\\”)
.workerPool(20,25,2,时间单位为秒)
.processTimeout(5,时间单位为秒)
.build();
未来转换=转换器
.convert(in).as(DocumentType.RTF)
.to(bo.as)(DocumentType.PDF)
.prioritywith(1000)//可选
.附表();
因此,您所需的转换文件将存储在此处的ByteArrayOutputStream对象(bo)中。本文中的示例对我不起作用。 这一次: POM文件:
<dependencies>
<dependency>
<groupId>com.documents4j</groupId>
<artifactId>documents4j-api</artifactId>
<version>0.2.1</version>
</dependency>
<dependency>
<groupId>com.documents4j</groupId>
<artifactId>documents4j-util-conversion</artifactId>
<version>0.2.1</version>
</dependency>
<dependency>
<groupId>com.documents4j</groupId>
<artifactId>documents4j-transformer</artifactId>
<version>0.2.1</version>
</dependency>
<dependency>
<groupId>com.documents4j</groupId>
<artifactId>documents4j-util-all</artifactId>
<version>0.2.1</version>
</dependency>
<dependency>
<groupId>com.documents4j</groupId>
<artifactId>documents4j-local</artifactId>
<version>0.2.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.8.0-beta2</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.8.0-beta2</version>
</dependency>
<dependency>
<groupId>com.documents4j</groupId>
<artifactId>documents4j-util-standalone</artifactId>
<version>1.0.3</version>
</dependency>
<dependency>
<groupId>com.documents4j</groupId>
<artifactId>documents4j-transformer-msoffice-word</artifactId>
<version>1.0.3</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>23.0</version>
</dependency>
</dependencies>
com.documents4j
文档4J api
0.2.1
com.documents4j
文档4j util转换
0.2.1
com.documents4j
文件4J变压器
0.2.1
com.documents4j
文档4j util all
0.2.1
com.documents4j
文档4J本地
0.2.1
org.slf4j
slf4j api
1.8.0-β2
org.slf4j
slf4j简单
1.8.0-β2
com.documents4j
文档4j util独立
1.0.3
com.documents4j
文档4J变压器msoffice word
1.0.3
番石榴
番石榴
23
和java文件:
import com.documents4j.api.DocumentType;
import com.documents4j.api.IConverter;
import com.documents4j.job.LocalConverter;
import java.io.BufferedInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;
/**
*
* @author Neon/Jan Madle
*/
public class NewMain {
/**
* @param args the command line arguments
* @throws java.io.FileNotFoundException
*/
public static void main(String[] args) throws FileNotFoundException, IOException, InterruptedException, ExecutionException {
ByteArrayOutputStream bo = new ByteArrayOutputStream();
InputStream in = new BufferedInputStream(new FileInputStream(System.getProperty("user.dir") + File.separator +"out.rtf"));
IConverter converter = LocalConverter.builder()
.baseFolder(new File(System.getProperty("user.dir") + File.separator +"test"))
.workerPool(20, 25, 2, TimeUnit.SECONDS)
.processTimeout(5, TimeUnit.SECONDS)
.build();
Future<Boolean> conversion = converter
.convert(in).as(DocumentType.RTF)
.to(bo).as(DocumentType.PDF)
.prioritizeWith(1000) // optional
.schedule();
conversion.get();
try (OutputStream outputStream = new FileOutputStream("out.pdf")) {
bo.writeTo(outputStream);
}
in.close();
bo.close();
}
}
导入com.documents4j.api.DocumentType;
导入com.documents4j.api.i转换器;
导入com.documents4j.job.LocalConverter;
导入java.io.BufferedInputStream;
导入java.io.ByteArrayOutputStream;
导入java.io.File;
导入java.io.FileInputStream;
导入java.io.FileNotFoundException;
导入java.io.FileOutputStream;
导入java.io.IOException;
导入java.io.InputStream;
导入java.io.OutputStream;
导入java.util.concurrent.ExecutionException;
导入java.util.concurrent.Future;
导入java.util.concurrent.TimeUnit;
/**
*
*@author/Jan Madle
*/
公共类纽曼{
/**
*@param指定命令行参数
*@throws java.io.FileNotFoundException
*/
公共静态void main(字符串[]args)抛出FileNotFoundException、IOException、InterruptedException、ExecutionException{
ByteArrayOutputStream bo=新建ByteArrayOutputStream();
InputStream in=new BufferedInputStream(新文件InputStream(System.getProperty(“user.dir”)+File.separator+“out.rtf”));
IConverter converter=LocalConverter.builder()
.baseFolder(新文件(System.getProperty(“user.dir”)+File.separator+“test”))
.workerPool(20,25,2,时间单位为秒)
.processTimeout(5,时间单位为秒)
.build();
未来转换=