gpt4 book ai didi

java - 无法使用java读取pdf中的unicode字符

转载 作者:行者123 更新时间:2023-12-01 11:57:20 26 4
gpt4 key购买 nike

我正在尝试将包含泰米尔语 unicode 字符的 Pdf 文档转换为保留所有格式的 Word 文档。我无法读取 Pdf 中的 unicode 字符,它们在 word 中显示为垃圾字符。我正在使用下面的代码,有人可以帮忙吗?

public static void main(String[] args) throws IOException {
System.out.println("Document converted started");
XWPFDocument doc = new XWPFDocument();
String pdf = "D:\\sample1.pdf";
PdfReader reader = new PdfReader(pdf);
// InputStreamReader isr = new InputStreamReader(reader,"UTF8");
PdfReaderContentParser parser = new PdfReaderContentParser(reader);
for (int i = 1; i <= reader.getNumberOfPages(); i++) {
TextExtractionStrategy strategy = parser.processContent(i,
new SimpleTextExtractionStrategy());
System.out.println(strategy.getResultantText());
String text = strategy.getResultantText();
XWPFParagraph p = doc.createParagraph();
XWPFRun run = p.createRun();
// run.setFontFamily(new Font("Arial"));
run.setFontSize(14);
run.setText(text);
// run.addBreak(BreakType.PAGE);
}
FileOutputStream out = new FileOutputStream("D:\\tamildoc.docx");
doc.write(out);
out.close();
reader.close();
System.out.println("Document converted successfully");
}

最佳答案

您可以使用库Apache PDFBox https://pdfbox.apache.org/download.cgi 。使用组件PDFTextStripper,调用方法getText(PDDocument doc),您将获得一个表示 .pdf 文件内容的简单字符串

这里是一个例子:

    UploadedFile file = new UploadedFile(fileName);
InputStream is = file.getInputStream();
PDDocument doc = PDDocument.load(is);
String content = new PDFTextStripper().getText(doc);
doc.close();

之后您可以在文件上写入

关于java - 无法使用java读取pdf中的unicode字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28342010/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com