问题背景:
想把pdf转换成word,就在网上搜了搜,用Apache poi 和 Spire 都不能转换pdf中带表格的文字,
所以最后选用了 Aspose,但是网上的文章写得也不太好,没找到一个完全正确给力的文章。
所以在这里记录一下实践过好用的相关配置、代码。
转换完之后会有水印!不过可以手动打开文档去掉。
settings.xml
别无脑复制,看看自己的localRepository在哪。
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository>D:\repository</localRepository>
<mirrors>
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>
</mirrors>
<profiles>
<profile>
<id>aspose-cloud</id>
<repositories>
<repository>
<id>aspose-maven-repository</id>
<url>https://releases.aspose.com/java/repo</url>
</repository>
</repositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>aspose-cloud</activeProfile>
</activeProfiles>
</settings>
pom.xml
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>23.6</version>
</dependency>
Java代码。
import com.aspose.pdf.Document;
import com.aspose.pdf.SaveFormat;
import java.io.InputStream;
public class PDFToWordConverter2 {
public static void convertPDFToWord(String pdfFilePath, String wordFilePath) {
try {
Document pdfDocument = new Document(pdfFilePath);
pdfDocument.save(wordFilePath, SaveFormat.Doc);
System.out.println("PDF转换为Word成功!");
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
// 路径自己换啊,这不用提醒吧?
String pdfFilePath = "C:\\Users\\Desktop\\1.pdf";
String wordFilePath = "C:\\Users\\Desktop\\2.docx";
convertPDFToWord(pdfFilePath, wordFilePath);
}
}