OFDRW 提供了将 OFD 文档导出为其他格式文档的能力,如导出为 PDF、图片、SVG、TXT、HTML 等。
OFDRW 转换模块在 2.0.0 之后抽象了多种文档导出接口,使用统一的 API 实现 OFD 文档导出功能。
如果你使用的是 2.0.0 以前版本,可参考 OFD 文件转换工具类(2.0.0版本之前)
注意:
java >= 1.8
<dependency>
<groupId>org.ofdrwgroupId>
<artifactId>ofdrw-converterartifactId>
<version>2.0.2version>
dependency>
点击下载:ofdrw-converter-2.0.2.jar
OFD 文档导出为 PDF 文件,该导出根据实现所使用的库不一致具有两种导出实现。
注意事项:
实现类: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();
}
实现类: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 文档导出为图片,图片格式支持 PNG、BPM、JPG。
实现类:org.ofdrw.converter.export.ImageExporter
注意事项:
示例:
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 图形,文本中的所有文字都将转换为矢量路径。
实现类:org.ofdrw.converter.export.SVGExporter
注意事项:
示例:
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 网页,需要浏览器支持 HTML5 才可正常预览,由于是基于 SVG 方案导出的 HTML,因此导出文件可能较大。
实现类:org.ofdrw.converter.export.HTMLExporter
注意事项:
示例:
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 页面都能导出文本,只有符合特定条件的 OFD 才可导出。
实现类:org.ofdrw.converter.export.TextExporter
注意事项:
示例:
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读写库
知识~
█▀▀▀▀▀▀▀█████▀▀████▀▀▀▀▀▀▀█
█ █▀▀▀█ █▄█▄▀█▄ █ █▀▀▀█ █
█ █ █ █▄ ▄▀█ ▄█▀█ █ █ █
█ ▀▀▀▀▀ █ ▄▀█ ▄ ▄ █ ▀▀▀▀▀ █
█▀▀▀▀▀█▀▀▀ ▄▄▄▀ █▄▀█▀█▀█▀██
█ ▄▄▄▄▀█▀█ ▄▀▀▀▀ ██ ▀▀█ ▀█
█▀▀▀█ ▀██▀▀█▀▀▀▀█ ▄▀█▀▀ █
█ █▀▄ ▄▀█▀▄▀▄▀█▀▀▄ ▀ ▀ █ ▀█
█ █ █▀▄█▄█▄▀▀▀█ ▀ █▀█▄█
█▀▀▀▀▀▀▀█ ▀▀▄█▀▄▄ █▀█ ▄▀▀▀█
█ █▀▀▀█ █▀█▀ ▀▀▀ ▀▀▀ ▄▀ ▄█
█ █ █ █ ▀▄█▀ ██▄▄█▄ ▄ █
█ ▀▀▀▀▀ █ ▀▄ ▀▀▄▄▄ ▀▀ █
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀