FineReader 引擎 Java SDK。如何在从 PDF 转换为 DOCX 时忽略图片
FineReader Engine Java SDK. How to ignore pictures during conversion from PDF to DOCX
我需要找到一种在转换为 DOCX 文件的过程中忽略 PDF 文档中的图片和照片的方法。
我正在创建 FineReader 引擎的实例:
IEngine engine = Engine.InitializeEngine(
engineConfig.getDllFolder(), engineConfig.getCustomerProjectId(),
engineConfig.getLicensePath(), engineConfig.getLicensePassword(), "", "", false);
之后,我正在转换一个文档:
IFRDocument document = engine.CreateFRDocument();
document.AddImageFile(file.getAbsolutePath(), null, null);
document.Process(null);
String exportPath = FileUtil.prepareExportPath(file, resultFolder);
document.Export(exportPath, FileExportFormatEnum.FEF_DOCX, null);
因此,它转换了初始 pdf 文档中的所有图像。
PDF 输入页面包含什么? MS Word 中的预期内容是什么?
如果您能附上一个输入 PDF 文件的示例和一个 MS Word 格式的所需结果示例,那就太好了。
然后给个有用的推荐就容易多了。
我不太熟悉 PDF 到 DOCX 的转换,但我认为您可以根据需要尝试自定义配置文件。
在您的代码中的某个位置,您应该创建一个 Engine
对象,然后创建一个 Document
对象(或 IFRDocument
对象,具体取决于您的应用程序)。在将文档提供给引擎进行处理之前添加此行:
engine.LoadProfile(PROFILE_FILENAME);
然后使用 "Working with Profiles" 部分下 FRE 安装打包的文档中描述的一些处理参数创建您的文件。
不要忘记在您的文件中添加:
... some params under other sections
[PageAnalysisParams]
DetectText = TRUE --> force text detection
DetectPictures = FALSE --> ignore pictures
... other params under PageAnalysisParams
... some params under other sections
它对条形码等的工作方式相同...但请记住,在从该文件中添加或删除内容时对结果进行基准测试,因为它可能会改变处理速度和结果的全局质量。
当您将 pdf 导出到 docx 时,您应该使用一些导出参数。通过这种方式,您可以使用 IRTFExportParams。你可以获得这个对象:
IRTFExportParams irtfExportParams = engine.CreateRTFExportParams();
你可以像这样设置 writePicture 属性:
irtfExportParams.setWritePictures(false);
其中:IEngine engine
为主界面。我想你知道如何初始化它;)))
您还必须在方法 document.Process() 属性 中进行设置。 (文档来自 IFRDocument document
)。
在 Process()
方法中你必须给出 IDocumentProcessingParams iDocumentProcessingParams
。这个对象有方法 setPageProcessingParams()
并且你必须在那里放 IPageProcessingParams iPageProcessingParams
参数(你可以通过 engine.CreatePageProcessingParams()
得到这个对象)。这个对象有方法:
iPageProcessingParams.setPerformAnalysis(true);
iPageProcessingParams.setPageAnalysisParams(iPageAnalysisParams);
在第一个方法中设置为真,
在第二个中,我们给出 iPageAnalysisParams
(IPageAnalysisParams iPageAnalysisParams = engine.CreatePageAnalysisParams()
)。
最后一步,您必须像这样在 iPageAnalysisParams
的 setDetectPictures(false)
方法中设置假值。就这些:)
当你要导出文档时,你应该像这样放置这个参数:
IFRDocument document = engine.CreateFRDocument();
document.Export(filePath, FileExportFormatEnum.FEF_DOCX, irtfExportParams);
希望我的回答对大家有所帮助)))
我需要找到一种在转换为 DOCX 文件的过程中忽略 PDF 文档中的图片和照片的方法。
我正在创建 FineReader 引擎的实例:
IEngine engine = Engine.InitializeEngine(
engineConfig.getDllFolder(), engineConfig.getCustomerProjectId(),
engineConfig.getLicensePath(), engineConfig.getLicensePassword(), "", "", false);
之后,我正在转换一个文档:
IFRDocument document = engine.CreateFRDocument();
document.AddImageFile(file.getAbsolutePath(), null, null);
document.Process(null);
String exportPath = FileUtil.prepareExportPath(file, resultFolder);
document.Export(exportPath, FileExportFormatEnum.FEF_DOCX, null);
因此,它转换了初始 pdf 文档中的所有图像。
PDF 输入页面包含什么? MS Word 中的预期内容是什么? 如果您能附上一个输入 PDF 文件的示例和一个 MS Word 格式的所需结果示例,那就太好了。 然后给个有用的推荐就容易多了。
我不太熟悉 PDF 到 DOCX 的转换,但我认为您可以根据需要尝试自定义配置文件。
在您的代码中的某个位置,您应该创建一个 Engine
对象,然后创建一个 Document
对象(或 IFRDocument
对象,具体取决于您的应用程序)。在将文档提供给引擎进行处理之前添加此行:
engine.LoadProfile(PROFILE_FILENAME);
然后使用 "Working with Profiles" 部分下 FRE 安装打包的文档中描述的一些处理参数创建您的文件。 不要忘记在您的文件中添加:
... some params under other sections
[PageAnalysisParams]
DetectText = TRUE --> force text detection
DetectPictures = FALSE --> ignore pictures
... other params under PageAnalysisParams
... some params under other sections
它对条形码等的工作方式相同...但请记住,在从该文件中添加或删除内容时对结果进行基准测试,因为它可能会改变处理速度和结果的全局质量。
当您将 pdf 导出到 docx 时,您应该使用一些导出参数。通过这种方式,您可以使用 IRTFExportParams。你可以获得这个对象:
IRTFExportParams irtfExportParams = engine.CreateRTFExportParams();
你可以像这样设置 writePicture 属性:
irtfExportParams.setWritePictures(false);
其中:IEngine engine
为主界面。我想你知道如何初始化它;)))
您还必须在方法 document.Process() 属性 中进行设置。 (文档来自 IFRDocument document
)。
在 Process()
方法中你必须给出 IDocumentProcessingParams iDocumentProcessingParams
。这个对象有方法 setPageProcessingParams()
并且你必须在那里放 IPageProcessingParams iPageProcessingParams
参数(你可以通过 engine.CreatePageProcessingParams()
得到这个对象)。这个对象有方法:
iPageProcessingParams.setPerformAnalysis(true);
iPageProcessingParams.setPageAnalysisParams(iPageAnalysisParams);
在第一个方法中设置为真,
在第二个中,我们给出 iPageAnalysisParams
(IPageAnalysisParams iPageAnalysisParams = engine.CreatePageAnalysisParams()
)。
最后一步,您必须像这样在 iPageAnalysisParams
的 setDetectPictures(false)
方法中设置假值。就这些:)
当你要导出文档时,你应该像这样放置这个参数:
IFRDocument document = engine.CreateFRDocument();
document.Export(filePath, FileExportFormatEnum.FEF_DOCX, irtfExportParams);
希望我的回答对大家有所帮助)))