You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在VBA环境下使用Foxit Libraries转换扫描版PDF文件

使用Foxit Libraries在VBA中对扫描版PDF进行波斯语OCR转换

前提准备

  • 已安装Foxit PDF SDK(Foxit Libraries的官方对应产品),并在VBA编辑器中添加了对应Foxit SDK的类型库引用(路径:工具 > 引用,勾选Foxit相关的库)。
  • 拥有合法的Foxit SDK授权密钥(商用需购买,非商用可申请试用)。

实现步骤与示例代码

以下是完整的VBA代码流程,核心是利用Foxit SDK的OCR模块完成波斯语文本识别,将扫描版PDF转换为可搜索PDF:

Sub ConvertScannedPDF_WithFarsiOCR()
    Dim sdkInitResult As Long
    Dim targetPDF As Long
    Dim ocrSettings As OCR_Params
    
    ' 1. 初始化Foxit SDK
    sdkInitResult = FSDK_Init("你的授权密钥", "授权文件路径") ' 替换为实际授权信息
    If sdkInitResult <> 0 Then
        MsgBox "SDK初始化失败,错误码:" & sdkInitResult
        Exit Sub
    End If
    
    ' 2. 加载扫描版PDF文档
    targetPDF = PDFDoc_LoadFromFile("C:\你的输入扫描PDF路径.pdf", 0, Nothing)
    If targetPDF = 0 Then
        MsgBox "PDF文件加载失败"
        FSDK_Uninit
        Exit Sub
    End If
    
    ' 3. 配置OCR参数,指定波斯语识别
    With ocrSettings
        .nLanguage = OCR_LANG_FARSI ' 对应波斯语的语言常量(Foxit SDK内置)
        .bEnableOCR = True
        .eOutputType = OCR_OUTPUT_SEARCHABLE_PDF ' 输出可搜索型PDF
        ' 可选:设置识别区域、DPI等参数,按需调整
    End With
    
    ' 4. 执行OCR并保存结果
    If PDFDoc_OCR(targetPDF, ocrSettings, Nothing, Nothing) = 0 Then
        PDFDoc_SaveToFile(targetPDF, "C:\你的输出PDF路径.pdf", 0)
        MsgBox "扫描PDF已完成波斯语OCR转换"
    Else
        MsgBox "OCR执行失败,请检查参数或SDK授权"
    End If
    
    ' 5. 释放资源,避免内存泄漏
    PDFDoc_Close(targetPDF)
    FSDK_Uninit
End Sub

关键注意事项

  • 语言包验证:确认你的Foxit SDK版本包含波斯语OCR语言包,部分版本需单独下载安装语言组件。
  • 授权问题:未授权的SDK可能限制OCR功能或输出带水印的文档,需确保授权有效。
  • 错误处理:代码中的错误码可参考Foxit SDK官方文档,对应排查初始化、加载、OCR执行阶段的问题。
  • 多页支持:上述代码默认处理PDF所有页面,无需额外循环,若需指定页面范围,可调整OCR参数中的页面区间设置。

内容的提问来源于stack exchange,提问作者Milad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 01:21:04