我正在使用OpenViewerFX (JPedal)在JavaFX应用程序中显示PDF 文件。有些文件显示得很好,有些则只显示不可打印的字符(在我自己创建的文档和其他人的文档中)。例如看这个:
这是我的代码:
private final PdfDecoderFX pdf = new PdfDecoderFX();
private Group group;
@Override
public void start(Stage stage) {
BorderPane bp = new BorderPane();
Scene scene = new Scene(bp, 400, 400);
stage.setScene(scene);
stage.show();
group = new Group();
group.getChildren().add(pdf);
bp.setCenter(group);
Platform.runLater(() -> {
try {
pdf.openPdfFile("D:\\Dokument1.pdf");
decodePage();
} catch (PdfException e) {
e.printStackTrace();
System.out.println(e.getMessage());
}
});
}
private void decodePage() {
try {
pdf.setPageParameters(2.0f, 0);
pdf.decodePage(1);
pdf.waitForDecodingToFinish();
} catch (final Exception e) {
e.printStackTrace();
System.out.println(e.getMessage());
}
}
PDF 文件是使用Adobe PDF打印机从 Word 文档创建的。我使用了标准字体并且只使用了标准字符。我在创建文件时测试了几个设置,包括
- 兼容性“PDF 1.3”到“PDF 1.7”
- 启用/禁用网页优化
- 包括所有字体
- 包括 Open-Type 字体
但总是相同的结果。
我可能做错了什么?