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

能否用C#读取或保存Adobe Reader中已打开的PDF文件

解决方案:处理Adobe中打开的未保存PDF以便iText 7处理

一、读取Adobe已打开的PDF

1. 利用Adobe Acrobat SDK(推荐)

如果员工使用的是完整版Adobe Acrobat(而非Reader),可通过其COM接口获取当前打开的文档,导出为临时文件后用iText 7处理。以C#为例:

// 需先在项目中引用Adobe Acrobat的COM组件
AcroApp acroApp = new AcroApp();
AcroAVDoc activeDoc = acroApp.GetActiveDoc();

if (activeDoc != null)
{
    AcroPDDoc pdDoc = activeDoc.GetPDDoc();
    string tempFilePath = Path.Combine(Path.GetTempPath(), $"temp_{Guid.NewGuid()}.pdf");
    
    // 将当前打开的PDF保存到临时路径
    pdDoc.Save(1, tempFilePath); // 参数1表示以PDF格式保存
    
    // 用iText 7读取并处理临时文件
    using (PdfReader reader = new PdfReader(tempFilePath))
    using (PdfDocument pdfDoc = new PdfDocument(reader))
    {
        // 在此编写PDF处理逻辑(如读取内容、添加标识等)
    }
    
    // 处理完成后删除临时文件
    File.Delete(tempFilePath);
}

注意:需确保客户端安装完整版Adobe Acrobat,且引用对应版本的COM组件。

2. 不推荐的内存读取方式

通过Windows API读取Adobe进程内存提取PDF内容的方法稳定性极差,版本更新、权限限制都可能导致失效,不建议生产环境使用。

二、自动保存PDF到硬盘

从源头解决问题是更可靠的方案,以下两种思路可选:

1. 修改PDF生成逻辑(最优)

如果行程PDF由内部系统生成,直接在生成环节加入自动保存步骤,再打开给员工。以Java为例:

// 用iText 7生成并保存PDF到指定目录
String savePath = "D:/物流行程PDF/" + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")) + ".pdf";
PdfWriter writer = new PdfWriter(savePath);
PdfDocument pdfDoc = new PdfDocument(writer);

// 生成PDF内容(如添加行程信息、表格等)
Document doc = new Document(pdfDoc);
doc.add(new Paragraph("XX物流行程单"));
// ...其他内容生成代码

doc.close();
pdfDoc.close();

// 启动Adobe Acrobat打开已保存的PDF
Runtime.getRuntime().exec("acrobat.exe " + savePath);

这种方法从根源避免后续读取问题,生成的PDF直接存盘,方便iText 7批量处理。

2. 自动化工具监控保存

若无法修改生成系统,可使用AutoHotkey或PowerShell实现自动化保存:

  • AutoHotkey脚本示例(监控Adobe激活状态,自动触发保存):
; 当Adobe Acrobat窗口激活时,按下Ctrl+S自动保存到指定目录
#IfWinActive ahk_exe Acrobat.exe
^s::
    Send ^s
    Sleep 600
    ; 用时间戳命名避免文件重复
    FormatTime, timestamp,, yyyyMMddHHmmss
    Send "D:/物流行程PDF/行程单_%timestamp%.pdf"
    Send {Enter}
return
#IfWinActive

员工打开PDF后按Ctrl+S即可自动保存到指定目录,后续iText 7可直接读取该目录下的文件。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 18:57:43