首页 > 编程问答 >我如何在 python 上使用 spire.pdf 修复此错误

我如何在 python 上使用 spire.pdf 修复此错误

时间:2024-07-31 05:58:33浏览次数:15  
标签:python spire.pdf

我使用 spire pdf,但出现以下错误:“DllNotFound_Windows,libSkiaSharp,No se puede encontrar el módulo especificado.:....”

def extract_text_from_pdf(file_path, output_file):
    # Load a PDF document
    doc = PdfDocument()
    doc.LoadFromFile(file_path)

    extracted_text = []

    # Iterate over the pages of the document
    for i in range(doc.Pages.Count):
        page = doc.Pages.get_Item(i)
        # Extract the text from the page
        textExtractor = PdfTextExtractor(page)
        option = PdfTextExtractOptions()
        text = textExtractor.ExtractText(option) ## in this line is the error
        extracted_text.append(text)

    return extracted_text

我下载了 dll,但我不确定将其保存在哪里。我在 google colab 上运行了相同的代码并且它有效


看起来你遇到了 Spire.PDF 中缺少 libSkiaSharp DLL 的问题。 这个问题通常是由于 Spire.PDF 找不到所需的依赖项导致的。

以下是如何解决此问题的步骤:

1. 确认 libSkiaSharp.dll 存在于项目中

  • Spire.PDF for Python 依赖于 SkiaSharp 进行图形渲染。你需要确保 libSkiaSharp.dll 文件存在于你的项目目录中。你可以在 Spire.PDF NuGet 包下载的 \Runtimes\win-x64\native (或类似路径,根据你的系统架构)文件夹中找到它。

2. 将 DLL 文件复制到正确的目录

  • libSkiaSharp.dll 文件复制到你的 Python 脚本所在的目录。
  • 或者,你也可以将其复制到你的系统 PATH 环境变量中列出的任何目录中。

3. 检查 DLL 平台兼容性

  • 确保 libSkiaSharp.dll 文件与你的 Python 环境的体系结构(x86 或 x64)兼容。如果你使用的是 64 位 Python,则需要 64 位版本的 DLL。

4. 重新启动你的 Python 环境

  • 在你进行任何更改后,请确保重新启动你的 Python 环境(例如,关闭并重新打开你的 Jupyter Notebook 或 IDE),以便它可以加载更新后的 DLL 路径。

如果以上步骤都没有解决问题,请尝试以下操作:

  • 重新安装 Spire.PDF: 尝试卸载并重新安装 Spire.PDF for Python 包,以确保所有依赖项都已正确安装。
  • 检查 Spire.PDF 文档: 参考 Spire.PDF for Python 的官方文档,以获取有关解决 DLL 问题的任何特定说明或故障排除步骤。
  • 搜索 Spire.PDF 论坛: 在 Spire.PDF 论坛或其他在线社区中搜索类似的错误消息,以查看其他人是否遇到过类似问题并找到了解决方案。

完成这些步骤后,你的代码应该可以运行,并且能够从 PDF 文件中提取文本。

请注意: 将 DLL 文件复制到系统目录中可能会产生安全风险,因此请谨慎操作并确保 DLL 文件来自受信任的来源。

标签:python,spire.pdf
From: 78813802

相关文章

  • C++ 函数返回极其缓慢,远慢于功能等效的 python 代码
    我有一个在我编写的脚本中使用的函数,用于从列表中删除多余的阻塞关键字。基本上,输入(以任何顺序):{"apple","bapple","banana","cherry","bananaman","sweetherrypie","sweet","b"}它应该输出一个缩小的字符串数组(以任何顺序):......
  • 在预定时间从 python telegram bot 发起对话
    对于没有提供代码,我提前表示歉意。我明天会尝试添加它,但我现在还没有接近它,思考如何解决这个问题让我一直在思考。我已经为一个机器人创建了一个程序,该程序的数据帧充满了之前请求的用户添加到机器人的消息列表中。现在,机器人使用job_queue在一天中的随机时间向每个用户发......
  • python函数:带星号的参数一个接一个
    我想知道为什么定义以下函数被认为是好的。deffoo(*x,y):pass据我所知,现在有调用此函数的方法,因为它总是缺少y的值。(如果我错了,请纠正我。)这有什么我不知道的用处吗?你说得对,在Python中定义一个像deffoo(*x,y):...这样的函数,在试图以常规方......
  • 基于遗传(GA)、粒子群(PSO)、模拟退火(SA)、禁忌搜索(ST)、蚁群算法(ACO)、自自组织神
        ......
  • 10个append()函数在Python程序开发中的创新应用
    文末赠免费精品编程资料~~在Python编程的世界里,append()函数是列表操作中最常见的方法之一。它允许我们在列表的末尾添加一个元素,这一简单的功能却能激发无限的创造力。今天,我们将探讨append()函数在Python程序开发中的10种创新应用,从基本用法到高级技巧,逐步深入。1.构......
  • 全网最适合入门的面向对象编程教程:28 类和对象的Python实现-Python编程原则、哲学和规
    全网最适合入门的面向对象编程教程:28类和对象的Python实现-Python编程原则、哲学和规范大汇总摘要:本文主要介绍了在使用Python进行面向对象编程时,Python异常处理的原则-“请求谅解,而非许可”,以及软件设计和Python的编程原则,同时介绍了PEP8规范。原文链接:FreakStud......
  • python生成器
    一前言环境:python3.10win10二生成器1关于生成器先看一个例子    定义了一个函数,当我们运行该函数时,并未像普通函数那样执行函数体内的代码    从其中的英文可知,执行函数得到了一个生成器对象,这个生成器对象也叫做generatoriterator(生成器迭代器),generatorit......
  • 生成MySQL-oracle-SQL server数据字典(附Python代码)
    生成数据字典,早年写的,请注意新的版本变化。(1)MySQL元数据SQLUSEinformation_schema;#取出库和表。select  TABLE_SCHEMAAS'数据库名称',  TABLE_NAMEAS'表名',  TABLE_TYPEAS'表类型',  ROW_FORMATAS'行格式',  ENGINEAS'数据库引擎',  TABL......
  • Python - Method Resolution Order (MRO)
    TheorderinwhichPythonsearchesforattributesinbaseclassesiscalledmethodresolutionorder(MRO).Itgivesalinearizedpathforaninheritancestructure.PythoncomputesanMROforeveryclassinthehierarchy;thisMROiscomputedusingthe‘C3......
  • 计算机毕业设计选题推荐-零食批发商仓库管理系统-Java/Python项目实战
    ✨作者主页:IT研究室✨个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。☑文末获取源码☑精彩专栏推荐⬇⬇⬇Java项目Python项目安卓项目微信小程序项目......