当前位置: 首页 > wzjs >正文

如何在jsp上做网站页面代码合肥做网站的公司有哪些

如何在jsp上做网站页面代码,合肥做网站的公司有哪些,无锡做网站的公司电话,公司做公司网站广告一、不是扫描件但不能搜索的原因 1. 情况一:文字被转成了“图形文字” 有些PDF文件虽然看起来像是文字,其实是图片或者矢量图格式,不能直接搜索。 2. 情况二:PDF被加密 有些PDF设置了“内容复制/提取”权限受限,即使…

一、不是扫描件但不能搜索的原因

1. 情况一:文字被转成了“图形文字”
  • 有些PDF文件虽然看起来像是文字,其实是图片或者矢量图格式,不能直接搜索。

2. 情况二:PDF被加密
  • 有些PDF设置了“内容复制/提取”权限受限,即使你能阅读,但不能搜索、复制或选择文字。

  • 这通常是加密的一种表现。

3. 情况三:PDF嵌入了字体,但不是真正的文本
  • 有时PDF作者用的特殊软件或字体,会让文字显示正常,但实际上是不可识别的字符

二、解决方法

1. 方法一:使用OCR软件将内容转为可搜索文字

即使不是扫描件,也可以用 OCR 工具强制识别为文字。

推荐工具:

  • Adobe Acrobat Pro(有“识别文本”功能)

  • ABBYY FineReader

  • PaddleOCR(开源免费,适合懂技术的人)

  • PDF-XChange Editor(轻量好用,有OCR功能)


2. 方法二:查看是否有加密限制,并尝试解除

步骤(用Adobe Acrobat Pro为例):

  1. 打开PDF文件;

  2. 点击顶部菜单 文件(File)属性(Properties)

  3. 在“安全(Security)”标签下查看权限;

    • 如果显示:“不能复制内容”,“不能提取内容”等限制,说明有加密。

如何解密:

  • 若只是“权限密码”(不需要打开文件时输入密码),可以尝试以下方式解除:

    • 使用 Smallpdf、iLovePDF、PDFCandy 等在线解密工具;

    • 使用 Adobe Acrobat Pro

      • 打开文件;

      • 使用“另存为”(Save As)时,取消安全设置;

      • 前提是你知道权限密码,或权限设置很弱。


3. 方法三:复制部分文本,看是否能粘贴成正常文字
  • 复制几行粘贴到记事本或Word里;

  • 如果出现乱码或空白,说明PDF内容不可选或被加密/格式特殊。

三、小测试:快速判断是否可选中内容

  • 鼠标拖动文件中的文字:

    • 如果能高亮,说明不是扫描图;

    • 如果不能,可能是扫描件或“图形文字”;

  • 如果能高亮但不能搜索,通常是权限限制或内容不是标准文字编码。

以上内容由 ai 生成,仅供记录与参考

四、笔者问题

菏泽统计年鉴2018.pdf 无法搜索关键字,而且也不是扫描图片,但根据PDF的底层信息,它可能采用了一种“图片+不可选文字”的方式嵌入内容,或者存在字体嵌入保护文本被转为图形对象的问题。

五、关键词无法搜索的常见原因:

  1. PDF中的文字被转换成图形或路径(即使看起来像文字,实际上是“画”出来的,不能搜索)。

  2. 字体嵌入或加密,阻止复制和搜索。

  3. 文字层被隐藏或丢失

  4. 使用了不标准的编码方式或旧格式导出

六、解决方法建议

方法一:用Adobe Acrobat OCR识别(适合官方方式)
  1. 用 Adobe Acrobat 打开该 PDF。

  2. 菜单栏选择:工具 > 扫描和OCR > 识别文本

  3. 识别后保存,这样文字就可以被搜索和复制了。

效果不好,只能识别后是空白,且文字识别错误率高

方法二:用免费的工具进行OCR识别
  • 使用网站:Free Online OCR - Image to text and PDF to Doc converter

  • 或用免费的桌面软件:

    • PDF24 Creator(支持OCR识别和输出可搜索PDF)

    • FreeOCR(适合基础识别)

  • 笔者安装 PDF24 Creator 后,仅识别出200多个汉字,效果不好

方法三:用Python批量处理(适合技术用户)[本文讲解重点]

如果你会用Python,可以用tesserocrPyMuPDF结合OCR处理整个PDF文档

一)版本1

1. 功能说明

该 Python 脚本会:

        1)用 PyMuPDF 将 PDF 每页渲染为图像;

        2)用 pytesseract 识别图像中的中文文字;

        3)用 pytesseract.image_to_pdf_or_hocr() 生成带文字层的 PDF;

        4)合并成一个新的 可搜索 PDF 文件

2. 环境依赖

1)打开 powershell

win+r 打开运行,搜索 powershell 打开 Windows PowerShell

开头有“PS”,就代表打开的是 powershell 没错

2)确保安装好以下 python库:pytesseract、pymupdf 和 pillow

在 powershell 中输入:

 C:\Users\19025\AppData\Local\Programs\Python\Python313\python.exe -m pip install pytesseract pymupdf pillow# C:\Users\19025\AppData\Local\Programs\Python\Python313\  替换为本地 python 环境的路径

(1) 为什么要用本地python环境?

因为还要安装Tesseract OCR 引擎本体,发现好像只能在本地环境运行才能链接Tesseract OCR

(2) 如何找到本地 python 环境路径?

在powershell中输入

python --version

找到本地 python 版本

任务栏里搜索 python,找到对应的 python 版本,笔者本地只安装了一个版本,所以不用找

打开文件位置后,这里出现的是快捷方式的路径

右击 python 3.13,点击 打开文件所在的位置

这里就是python主程序所在的路径了

复制路径,替换即可

3)安装 Tesseract OCR 引擎本体,并配置中文语言包

(1)安装 Tesseract:

Windows 下载地址:https://github.com/tesseract-ocr/tesseract/releases

点击 .exe,自动开始下载

下载完成后,点击安装包开始安装

安装时,取消勾选“Training Tools”,勾选"Additional language data(download)",最好别修改安装路径

安装完成后,进入:

C:\Program Files\Tesseract-OCR\tessdata

如果你能看到 chi_sim.traineddata 文件,就说明中文支持安装成功。

(2)添加系统环境变量

A. 复制 Tesseract 的安装路径

默认安装路径是:

C:\Program Files\Tesseract-OCR

B. 添加到系统PATH中

Windows 11 / 10 操作:

a. 在“开始”菜单搜索 “环境变量”,点击“编辑系统环境变量”;

b. 在弹出窗口中点击右下角“环境变量(N)...”;

c. 在“系统变量”区域找到 Path,点击“编辑”;

d. 点击“新建”,粘贴路径:

C:\Program Files\Tesseract-OCR

    e. 点击“确定”保存所有窗口。

    C. 验证是否配置成功

    a. 打开 命令提示符(cmd),输入:

    tesseract -v
    

    b. 如果输出版本信息,说明配置成功,例如:

    tesseract v5.5.0.20241111leptonica-1.85.0
    ...

    3. python 脚本

    import fitz  # PyMuPDF
    import pytesseract
    from PIL import Image
    import io# 打开原始PDF
    input_pdf_path = "D:/test/菏泽统计年鉴2018.pdf"
    output_pdf_path = "D:/test/菏泽统计年鉴2018_OCR.pdf"
    doc = fitz.open(input_pdf_path)# 创建空的输出PDF
    ocr_doc = fitz.open()# 遍历每页进行OCR识别
    for i, page in enumerate(doc):print(f"OCR 第 {i + 1} 页...")# 渲染页面为图片pix = page.get_pixmap(dpi=300)img = Image.open(io.BytesIO(pix.tobytes("png")))# 使用 Tesseract OCR 识别中文,并生成 PDF 格式pdf_bytes = pytesseract.image_to_pdf_or_hocr(img, lang='chi_sim', extension='pdf')ocr_page = fitz.open("pdf", pdf_bytes)# 插入到新PDF中ocr_doc.insert_pdf(ocr_page)# 保存新PDF
    ocr_doc.save(output_pdf_path)
    ocr_doc.close()
    print(f"✅ OCR 处理完成,输出文件:{output_pdf_path}")

    存在问题:现在搜索只能搜到单个字搜索多个字的词组(如“进口额”)搜不到

    这是因为:Tesseract 生成的 OCR PDF 中文本层之间的汉字是分开的,每个字之间实际上被插入了不可见字符(如空格、换行、透明块)。

    二)版本2

    扫描版统计年鉴 PDF,通过 OCR 转为可搜索文本,然后批量搜索关键词(支持词组),并输出在哪一页找到了

    1. 功能说明

    • 使用 PyMuPDF 打开 PDF;

    • 每页图片化,用 Tesseract OCR 识别中文;

    • 提取 OCR 文本并清洗;

    • 搜索关键词(支持词组和模糊匹配);

    • 输出匹配结果和所在页码。

    2. 脚本代码

    import fitz  # PyMuPDF
    import pytesseract
    from PIL import Image
    import io
    import re# ====== 设置路径 ======
    input_pdf_path = "D:/test/菏泽统计年鉴2018.pdf"
    output_pdf_path = "D:/test/菏泽统计年鉴2018_OCR1.pdf"
    keyword_file = "D:/test/keywords.txt"  # 每行一个关键词# ====== 加载关键词 ======
    with open(keyword_file, "r", encoding="utf-8") as f:keywords = [line.strip() for line in f if line.strip()]# ====== 打开原始 PDF ======
    doc = fitz.open(input_pdf_path)
    ocr_doc = fitz.open()# ====== OCR 识别每一页并生成新 PDF ======
    print("[*] 开始 OCR 处理...")
    for i, page in enumerate(doc):print(f" - 正在识别第 {i+1} 页...")pix = page.get_pixmap(dpi=300)img = Image.open(io.BytesIO(pix.tobytes("png")))# OCR 识别中文,输出 PDF 页pdf_bytes = pytesseract.image_to_pdf_or_hocr(img, lang='chi_sim', extension='pdf')ocr_page = fitz.open("pdf", pdf_bytes)ocr_doc.insert_pdf(ocr_page)# 保存 OCR 后的 PDF
    ocr_doc.save(output_pdf_path)
    ocr_doc.close()
    doc.close()
    print(f"[✓] OCR 完成,已保存到:{output_pdf_path}")# ====== 提取文本并搜索关键词 ======
    print("\n[*] 正在搜索关键词...\n")
    ocr_doc = fitz.open(output_pdf_path)# 记录匹配结果
    results = []for page_num, page in enumerate(ocr_doc, start=1):text = page.get_text()clean_text = re.sub(r"\s+", "", text)  # 清洗不可见字符for kw in keywords:if kw in clean_text:results.append((kw, page_num, "精确"))else:pattern = ".*".join(list(kw))  # 模糊匹配:每个字之间允许有干扰if re.search(pattern, clean_text):results.append((kw, page_num, "模糊"))ocr_doc.close()# ====== 输出结果 ======
    if results:for kw, page_num, match_type in results:print(f"[{match_type}] 第 {page_num} 页 找到:{kw}")
    else:print("未找到任何关键词。")
    

    3. keywords.txt 示例

    放在 D:/test/keywords.txt,每行一个关键词:

    地区生产总值
    固定资产投资总额
    总人口
    第一产业增加值
    第二产业增加值
    第三产业增加值
    地方财政收入
    进口额
    出口额
    全年水资源总量
    人均粮食产量
    粮食产量
    能源消费总量
    人均用水量
    森林覆盖率
    耕地面积
    二氧化硫年均浓度
    细颗粒物年均浓度
    化肥施用量
    人口密度
    空气质量综合指数
    

    附上查找结果:查找.txt

    [精确] 第 7 页 找到:地区生产总值
    [精确] 第 7 页 找到:总人口
    [模糊] 第 11 页 找到:地区生产总值
    [模糊] 第 11 页 找到:总人口
    [模糊] 第 11 页 找到:第一产业增加值
    [模糊] 第 11 页 找到:第二产业增加值
    [模糊] 第 11 页 找到:第三产业增加值
    [精确] 第 11 页 找到:地方财政收入
    [模糊] 第 12 页 找到:地区生产总值
    [模糊] 第 12 页 找到:总人口
    [模糊] 第 12 页 找到:进口额
    [模糊] 第 12 页 找到:出口额
    [模糊] 第 13 页 找到:总人口
    [模糊] 第 13 页 找到:进口额
    [精确] 第 14 页 找到:地区生产总值
    [模糊] 第 14 页 找到:固定资产投资总额
    [模糊] 第 14 页 找到:总人口
    [模糊] 第 14 页 找到:第一产业增加值
    [模糊] 第 14 页 找到:进口额
    [模糊] 第 14 页 找到:出口额
    [模糊] 第 17 页 找到:总人口
    [模糊] 第 17 页 找到:人均用水量
    [模糊] 第 18 页 找到:全年水资源总量
    [模糊] 第 18 页 找到:能源消费总量
    [精确] 第 21 页 找到:地区生产总值
    [精确] 第 21 页 找到:第一产业增加值
    [精确] 第 21 页 找到:第二产业增加值
    [精确] 第 21 页 找到:第三产业增加值
    [模糊] 第 21 页 找到:粮食产量
    [精确] 第 22 页 找到:地区生产总值
    [模糊] 第 23 页 找到:固定资产投资总额
    [模糊] 第 23 页 找到:地方财政收入
    [模糊] 第 23 页 找到:进口额
    [模糊] 第 23 页 找到:出口额
    [模糊] 第 24 页 找到:总人口
    [模糊] 第 24 页 找到:进口额
    [模糊] 第 24 页 找到:出口额
    [模糊] 第 24 页 找到:二氧化硫年均浓度
    [模糊] 第 24 页 找到:细颗粒物年均浓度
    [精确] 第 29 页 找到:地区生产总值
    [精确] 第 29 页 找到:总人口
    [精确] 第 29 页 找到:第一产业增加值
    [精确] 第 29 页 找到:第二产业增加值
    [精确] 第 29 页 找到:第三产业增加值
    [模糊] 第 29 页 找到:耕地面积
    [精确] 第 29 页 找到:人口密度
    [模糊] 第 31 页 找到:固定资产投资总额
    [模糊] 第 32 页 找到:总人口
    [精确] 第 33 页 找到:地区生产总值
    [精确] 第 33 页 找到:第一产业增加值
    [精确] 第 33 页 找到:第二产业增加值
    [精确] 第 33 页 找到:第三产业增加值
    [精确] 第 34 页 找到:地区生产总值
    [精确] 第 37 页 找到:总人口
    [精确] 第 38 页 找到:化肥施用量
    [精确] 第 40 页 找到:耕地面积
    [精确] 第 41 页 找到:耕地面积
    [模糊] 第 52 页 找到:粮食产量
    [模糊] 第 280 页 找到:总人口
    [模糊] 第 286 页 找到:总人口
    [精确] 第 445 页 找到:进口额
    [精确] 第 445 页 找到:出口额
    [精确] 第 533 页 找到:地区生产总值
    [模糊] 第 533 页 找到:总人口
    [模糊] 第 533 页 找到:第一产业增加值
    [模糊] 第 533 页 找到:第二产业增加值
    [模糊] 第 533 页 找到:第三产业增加值
    [精确] 第 534 页 找到:地区生产总值
    [模糊] 第 534 页 找到:第一产业增加值
    [模糊] 第 534 页 找到:第二产业增加值
    [模糊] 第 534 页 找到:第三产业增加值
    [模糊] 第 535 页 找到:地方财政收入
    [模糊] 第 536 页 找到:总人口
    [模糊] 第 537 页 找到:粮食产量
    [模糊] 第 538 页 找到:粮食产量
    [模糊] 第 540 页 找到:总人口
    [模糊] 第 541 页 找到:总人口
    [模糊] 第 544 页 找到:地区生产总值
    [精确] 第 544 页 找到:总人口
    [模糊] 第 544 页 找到:第一产业增加值
    [模糊] 第 544 页 找到:第二产业增加值
    [精确] 第 544 页 找到:粮食产量
    [精确] 第 544 页 找到:人口密度
    [模糊] 第 545 页 找到:地区生产总值
    [模糊] 第 545 页 找到:第二产业增加值
    [模糊] 第 545 页 找到:第三产业增加值
    [模糊] 第 551 页 找到:地区生产总值
    [精确] 第 551 页 找到:总人口
    [精确] 第 551 页 找到:第一产业增加值
    [精确] 第 551 页 找到:第二产业增加值
    [精确] 第 551 页 找到:第三产业增加值
    [模糊] 第 553 页 找到:固定资产投资总额
    [精确] 第 553 页 找到:粮食产量
    [模糊] 第 553 页 找到:能源消费总量
    [模糊] 第 554 页 找到:全年水资源总量
    [精确] 第 554 页 找到:粮食产量
    [模糊] 第 554 页 找到:耕地面积
    [模糊] 第 556 页 找到:固定资产投资总额
    [模糊] 第 556 页 找到:总人口
    [模糊] 第 557 页 找到:总人口
    [精确] 第 557 页 找到:进口额
    [精确] 第 557 页 找到:出口额
    [模糊] 第 558 页 找到:总人口
    [模糊] 第 559 页 找到:总人口
    [模糊] 第 559 页 找到:出口额
    [模糊] 第 561 页 找到:总人口
    [模糊] 第 561 页 找到:出口额
    [模糊] 第 562 页 找到:总人口
    [精确] 第 562 页 找到:全年水资源总量
    [精确] 第 562 页 找到:人均用水量
    [模糊] 第 563 页 找到:地区生产总值
    [模糊] 第 563 页 找到:总人口
    [精确] 第 563 页 找到:能源消费总量
    [模糊] 第 563 页 找到:细颗粒物年均浓度
    [模糊] 第 564 页 找到:总人口
    [模糊] 第 564 页 找到:地方财政收入
    [模糊] 第 564 页 找到:能源消费总量
    [模糊] 第 565 页 找到:总人口
    [模糊] 第 566 页 找到:地区生产总值
    [模糊] 第 566 页 找到:总人口
    [模糊] 第 566 页 找到:地方财政收入
    [模糊] 第 566 页 找到:全年水资源总量
    [模糊] 第 566 页 找到:人均用水量
    [模糊] 第 567 页 找到:地区生产总值
    [精确] 第 568 页 找到:总人口
    [精确] 第 568 页 找到:第一产业增加值
    [精确] 第 568 页 找到:第二产业增加值
    [精确] 第 568 页 找到:第三产业增加值
    [模糊] 第 569 页 找到:总人口
    [模糊] 第 569 页 找到:粮食产量
    [模糊] 第 570 页 找到:地区生产总值
    [模糊] 第 570 页 找到:第一产业增加值
    [精确] 第 570 页 找到:粮食产量
    [精确] 第 570 页 找到:森林覆盖率
    [精确] 第 571 页 找到:地区生产总值
    [模糊] 第 571 页 找到:固定资产投资总额
    [模糊] 第 571 页 找到:总人口
    [模糊] 第 571 页 找到:进口额
    [模糊] 第 572 页 找到:进口额
    [模糊] 第 572 页 找到:出口额
    [模糊] 第 574 页 找到:森林覆盖率
    [精确] 第 575 页 找到:地区生产总值

    4. 总结:没满足直接在 .pdf 中搜索词组的需求

      http://www.dtcms.com/wzjs/27561.html

      相关文章:

    1. 中国建设银行网站缴费系统短视频seo公司
    2. 建设银行网银网站特色seo作弊
    3. 做网站的花费seo站内优化站外优化
    4. seo网站营销推广公司360指数在线查询
    5. 灵溪网站建设电商运营公司排名
    6. 天津做网站多少钱可以访问境外的浏览器
    7. 周末做兼职上什么网站找电商营销策划方案
    8. 网站注册备案查询百度指数可以查询多长时间的
    9. 专门帮做ppt的网站吗今日头条新闻下载安装
    10. 广州建站网站前十名怎么做优化关键词
    11. 如何从零开始做网站怎么开网站平台
    12. 成品网站w灬源码16伊园百度实时热点排行榜
    13. 做网站 如何注册公司电子商务营销策划方案
    14. 制作网站注册页面软文营销写作技巧有哪些?
    15. 乡镇门户网站建设的现状及发展对策百度指数是啥
    16. 计算机方向网站建设毕业论文软文推广的好处
    17. 网站域名续费北京网络优化推广公司
    18. Wordpress深入seo推广小分享
    19. 购物网站开发背景需求站长工具查询seo
    20. 如何建设彩票网站代运营公司排行榜
    21. 下载网站站开发百度统计登录
    22. 为什么我的网站没有百度索引量seo查询工具网站
    23. 浙江省建设工程造价信息网seo怎么优化步骤
    24. 沈阳男科医院哪家好些seo外包如何
    25. codex.wordpress.org安卓优化大师老版本
    26. 动态网站制作视频教程软文发稿系统
    27. 石材网站建设多少钱seo整站优化新站快速排名
    28. 深圳网站制作培训比较成功的网络营销案例
    29. 两台电脑一台做服务器 网站app推广项目
    30. 做视频网站服务器怎么选择外贸网站