从大量pdf文件中提取数据到Excel中,用python还是用VBA?( 二 )
■网友
VBA功能还没有这么强大,单纯的处理Excel,VBA还好。可是看题主的描述,是从pdf取数据存放到Excel,这个VBA就很难很难处理了,甚至不能处理。“之前想通过python或者VBA(说的不对轻喷)看看可不可以通过类似爬虫的方式来实现”这个题主的意思应该是从pdf中提取对应的文字或数据(不考虑扫描版那种pdf),用Python可以实现,但难易程度跟数据的规整程度有关系。另外如果pdf取的是表格数据,要麻烦很多,不是很好处理。题主可以先学着试试吧。
■网友
可以使用 Python 第三方库 PDFMiner 读取PDF 文件,再转化为字符,但是这个方法对图像格式的 PDF 没有用。还是比较简单的,建议用Python,VBA 语法更难。
■网友Function getTextFromPDF(ByVal strFilename As String) As String Dim objAVDoc As New AcroAVDoc Dim objPDDoc As New AcroPDDoc Dim objPage As AcroPDPage Dim objSelection As AcroPDTextSelect Dim objHighlight As AcroHiliteList Dim pageNum As Long Dim strText As String \u0026#39;使用Adobe自己的库 strText = "" If (objAVDoc.Open(strFilename, "")) Then Set objPDDoc = objAVDoc.GetPDDoc For pageNum = 0 To objPDDoc.GetNumPages() - 1 Set objPage = objPDDoc.AcquirePage(pageNum) Set objHighlight = New AcroHiliteList objHighlight.Add 0, 10000 \u0026#39;如果没有得到页面上的所有文本,请进行调整 Set objSelection = objPage.CreatePageHilite(objHighlight) If Not objSelection Is Nothing Then For tCount = 0 To objSelection.GetNumText - 1 strText = strText \u0026amp; objSelection.GetText(tCount) Next tCount End If Next pageNum objAVDoc.Close 1 End If getTextFromPDF = strTextEnd Function
推荐阅读
- 它浑身是毒,入侵我国却被大量种植,如今年产量高达55万吨
- 白皮书一般是政府发布的正式报告或文件,那么现在物联网、智慧城市等热门领域这么多企业发布的白皮书算咋回事呢
- hadoop中的mapreduce链接(mapreduce chaining)怎样避免中间文件的产生
- 怎样防止U盘内的文件被复制
- 可不可能利用网盘的秒传功能使用伪造的MD5(或其他信息)值进行文件分享
- windows资源管理器无法浏览部分安卓手机内文件
- 汽车市场|「数据报告」比亚迪外供底盘数量激增,大量车企同时配套比亚迪电池电机
- 单例模式static函数必须在头文件中实现么
- 为啥我无法保存一个网页的完整html文件
- windows 7怎样使文件系统区分大小写
