HelloWorld_Peng666 2024-05-06 15:54 采纳率: 69.2%
浏览 5
已结题

PDF文档用word打开后,原来PDF文档里的表格在word里竟然变成图片了

现有多个PDF文档,PDF文档里的表格及表格内容可以被选中,当用word打开这些PDF稳当的时候发现文档里本来可以选中的表格在word文档里现在变成图片了(无法选中表格里的内容了),用VBA可以实现将PDF文档里的表格内容成功拷贝到Excel里吗?谢谢

  • 写回答

5条回答 默认 最新

  • GISer Liu 2024-05-07 02:31
    关注

    该回答引用自GPT-3.5,由博主GISer Liu编写:

    针对你的问题,我建议以下解决思路和方案:

    问题分析:

    1. PDF文档中的表格被打开后变成了图片,导致无法选中表格内容。
    2. 需要将PDF文档中的表格内容成功拷贝到Excel中。

      解决方案:

    3. 使用VBA编写宏来实现将PDF文档中的表格内容拷贝到Excel。

      具体步骤:

    4. 获取PDF文档中的表格内容: 使用VBA调用Adobe Acrobat的API来打开PDF文件,并提取其中的表格内容。
    5. 将表格内容粘贴到Excel中: 将提取到的表格内容粘贴到Excel的工作表中。

      VBA代码示例:

      vba
      Copy code
      Sub CopyPDFTableToExcel()
      Dim acApp As Object
      Dim acDoc As Object
      Dim excelApp As Object
      Dim pdfFilePath As String
      Dim excelFilePath As String
      ' 设置PDF文件路径
      pdfFilePath = "C:\example.pdf"
      ' 创建Adobe Acrobat对象
      Set acApp = CreateObject("AcroExch.App")
      ' 打开PDF文档
      Set acDoc = CreateObject("AcroExch.PDDoc")
      acDoc.Open pdfFilePath
      ' 获取PDF页面数量
      Dim numPages As Integer
      numPages = acDoc.GetNumPages
      ' 创建Excel对象
      Set excelApp = CreateObject("Excel.Application")
      excelApp.Visible = True
      ' 新建Excel工作簿
      Dim wb As Object
      Set wb = excelApp.Workbooks.Add
      ' 循环遍历每一页,提取表格内容并粘贴到Excel中
      Dim i As Integer
      For i = 0 To numPages - 1
      Dim page As Object
      Set page = acDoc.AcquirePage(i)
      ' 获取页面内容
      Dim content As Object
      Set content = page.GetPageContent
      ' 提取表格内容
      Dim tableContent As String
      tableContent = content.extracttext
      ' 将表格内容粘贴到Excel中
      wb.Sheets(1).Cells(i + 1, 1).Value = tableContent
      Next i
      ' 关闭PDF文档
      acDoc.Close
      ' 释放对象
      Set acDoc = Nothing
      Set acApp = Nothing
      Set excelApp = Nothing
      Set wb = Nothing
      End Sub
      

      注意事项:

    6. 需要在VBA编辑器中添加对Adobe Acrobat的引用。
    7. 在运行VBA宏之前,请确保已安装Adobe Acrobat并将其设置为默认的PDF查看器。
      这个方案可以帮助你将PDF文档中的表格内容成功拷贝到Excel中。

    如果该回答解决了您的问题,请采纳!如果没有,请私信联系或评论您的疑惑

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 5月16日
  • 已采纳回答 5月8日
  • 创建了问题 5月6日

悬赏问题

  • ¥15 代码在keil5里变成了这样怎么办啊,文件图像也变了,
  • ¥20 Ue4.26打包win64bit报错,如何解决?(语言-c++)
  • ¥15 clousx6整点报时指令怎么写
  • ¥30 远程帮我安装软件及库文件
  • ¥15 关于#自动化#的问题:如何通过电脑控制多相机同步拍照或摄影(相机或者摄影模组数量大于60),并将所有采集的照片或视频以一定编码规则存放至规定电脑文件夹内
  • ¥20 深信服vpn-2050这台设备如何配置才能成功联网?
  • ¥15 Arduino的wifi连接,如何关闭低功耗模式?
  • ¥15 Android studio 无法定位adb是什么问题?
  • ¥15 C#连接不上服务器,
  • ¥15 angular项目错误