OFDRW 提供了将 OFD 文档导出为其他格式文档的能力,如导出为 PDF、图片、SVG、TXT、HTML 等。
OFDRW 转换模块在 2.0.0 之后抽象了多种文档导出接口,使用统一的 API 实现 OFD 文档导出功能。
如果你使用的是 2.0.0 以前版本,可参考 OFD 文件转换工具类(2.0.0版本之前)
注意:
java >= 1.8
一、导入 jar 依赖包
1.1 Maven 项目引入 jar 包
<dependency>
<groupId>org.ofdrw</groupId>
<artifactId>ofdrw-converter</artifactId>
<version>2.0.2</version>
</dependency>
1.2 非 Maven 项目直接下载导入 jar 包
点击下载:ofdrw-converter-2.0.2.jar
二、OFD 转 PDF
OFD 文档导出为 PDF 文件,该导出根据实现所使用的库不一致具有两种导出实现。
注意事项:
- 导出无法保证文档效果一致性。
2.1基于 PDFBox 实现
实现类:org.ofdrw.converter.export.PDFExporterPDFBox
Path ofdPath = Paths.get("D:/ofd/daima.ofd");
Path pdfPath = Paths.get("D:/ofd/target/daima1.pdf");
try (OFDExporter exporter = new PDFExporterPDFBox(ofdPath, pdfPath)) {
exporter.export();
} catch (IOException e) {
e.printStackTrace();
}
2.2基于 iText 实现
实现类:org.ofdrw.converter.export.PDFExporterIText
Path ofdPath = Paths.get("D:/ofd/daima.ofd");
Path pdfPath = Paths.get("D:/ofd/target/daima2.pdf");
try (OFDExporter exporter = new PDFExporterIText(ofdPath, pdfPath)) {
exporter.export();
} catch (IOException e) {
e.printStackTrace();
}
三、OFD 转图片
OFD 文档导出为图片,图片格式支持 PNG、BPM、JPG。
实现类:org.ofdrw.converter.export.ImageExporter
注意事项:
- 可以通过构造器指定导出的图片类型,目前支持 PNG、JPG、BPM,默认为 PNG 格式。
- 可以通过构造器或方法设置导出图片的质量,也就是 ppm 参数,默认 ppm 为15。
- 导出图片将存放于同一个目录,在该目录中图片以的页面索引作为文件名,如第1页的文件名为0.png。
示例:文章来源:https://www.toymoban.com/news/detail-504548.html
Path ofdPath = Paths.get("D:/ofd/daima.ofd");
Path imgPath = Paths.get("D:/ofd/target");
try (ImageExporter exporter = new ImageExporter(ofdPath, imgPath, "PNG", 20d)) {
exporter.export();
} catch (IOException e) {
e.printStackTrace();
}
四、OFD 转 SVG 图形
OFD 文档导出为 SVG 图形,文本中的所有文字都将转换为矢量路径。
实现类:org.ofdrw.converter.export.SVGExporter
注意事项:
- 可以通过构造器或方法设置导出 SVG 图形大小,也就是 ppm 参数,默认 ppm 为15。
- 导出 SVG 图形文件将存放于同一个目录,在该目录中以页面索引作为文件名,如第1页的文件名为0.svg。
示例:
Path ofdPath = Paths.get("D:/ofd/daima.ofd");
Path svgPath = Paths.get("D:/ofd/target");
try (SVGExporter exporter = new SVGExporter(ofdPath, svgPath, 15d)) {
exporter.export();
} catch (IOException e) {
e.printStackTrace();
}
五、OFD 转 HTML 网页
OFD 文档导出为 HTML 网页,需要浏览器支持 HTML5 才可正常预览,由于是基于 SVG 方案导出的 HTML,因此导出文件可能较大。
实现类:org.ofdrw.converter.export.HTMLExporter
注意事项:
- 若您需要调整 HTML 网页样式,可以通过继承 HTMLExporter 并覆盖 header、booter、margin_bottom 属性,使用自定义的 HTML 样式。
- 导出的 HTML 网页需要浏览器支持 HTML5 才可正常预览。
若页面文字内容由文字图元构成且都由 Unicode 组成,那么导出网页可能可以通过鼠标选中与复制。
示例:
Path ofdPath = Paths.get("D:/ofd/daima.ofd");
Path htmlPath = Paths.get("D:/ofd/target/daima.html");
try (HTMLExporter exporter = new HTMLExporter(ofdPath, htmlPath)) {
exporter.export();
} catch (IOException e) {
e.printStackTrace();
}
六、OFD 转 TXT 文本
OFD 文档导出为 TXT 文本文件,并非所有 OFD 页面都能导出文本,只有符合特定条件的 OFD 才可导出。
实现类:org.ofdrw.converter.export.TextExporter
注意事项:
- 部分 OFD 文档由于采用字形索引来定位文字、有个 OFD 整个页面均为路径数据图元而不是文字图元、有的 OFD 页面整个都为图片等诸多原因,无法保证一定能够导出文本。
- 由于文本布局等各种因素,导出文本顺序也难以与原文文本顺序一致。
示例:
Path ofdPath = Paths.get("D:/ofd/daima.ofd");
Path txtPath = Paths.get("D:/ofd/target/daima.txt");
try (TextExporter exporter = new TextExporter(ofdPath, txtPath)) {
exporter.export();
} catch (IOException e) {
e.printStackTrace();
}
大功告成,扫码下方二维码,查阅更多
OFD读写库
知识~文章来源地址https://www.toymoban.com/news/detail-504548.html
█▀▀▀▀▀▀▀█████▀▀████▀▀▀▀▀▀▀█
█ █▀▀▀█ █▄█▄▀█▄ █ █▀▀▀█ █
█ █ █ █▄ ▄▀█ ▄█▀█ █ █ █
█ ▀▀▀▀▀ █ ▄▀█ ▄ ▄ █ ▀▀▀▀▀ █
█▀▀▀▀▀█▀▀▀ ▄▄▄▀ █▄▀█▀█▀█▀██
█ ▄▄▄▄▀█▀█ ▄▀▀▀▀ ██ ▀▀█ ▀█
█▀▀▀█ ▀██▀▀█▀▀▀▀█ ▄▀█▀▀ █
█ █▀▄ ▄▀█▀▄▀▄▀█▀▀▄ ▀ ▀ █ ▀█
█ █ █▀▄█▄█▄▀▀▀█ ▀ █▀█▄█
█▀▀▀▀▀▀▀█ ▀▀▄█▀▄▄ █▀█ ▄▀▀▀█
█ █▀▀▀█ █▀█▀ ▀▀▀ ▀▀▀ ▄▀ ▄█
█ █ █ █ ▀▄█▀ ██▄▄█▄ ▄ █
█ ▀▀▀▀▀ █ ▀▄ ▀▀▄▄▄ ▀▀ █
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
到了这里,关于Java将OFD文件转PDF文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!