- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
更新:我发现从 OCRed 文件创建 pdf 文件是不合理的
所以最好保持原样,不进行转换。我仍然遇到一些图像已连接而另一些是 1 个寻呼机的问题。
data = []
listOfPages = glob.glob(r"C:/Users/name/test/*.tif")
for entry in listOfPages:
text = pytesseract.image_to_string(
Image.open(entry), lang="en"
)
data.append(text)
df0 = pd.DataFrame(data, columns =['raw_text'])
这会创建一个 pandas df,其中每一行都是 .tif
文件第一页(单页)的字符串。我如何连接 tif 文件(参见原始问题)以获得完整的多页字符串?
原问题:我想将 my_folder
中的单页 .tif 文件转换为 pdf_folder
中的多页 .pdf
文件。没有后续页面的 TIFF 也应转换为单页 PDF。最终,我想要一个通过对多个基于图像的 TIFF 文件进行 OCR 处理而创建的文本 PDF。
因此我从文件名模式推断出应该放在一起的 .tiff
文件组:
Drs_1_00109_1_ADS.tif
Drs_1_00099_1_ADS_000.tif
Drs_1_00099_1_ADS_001.tif
Drs_1_00099_1_ADS_002.tif
Drs_1_00186_1_ADS.tif
Drs_1_00192_1_ADS_000.tif
Drs_1_00192_1_ADS_001.tif
例如 Drs_1_00192_1_ADS_000.tif
和Drs_1_00192_1_ADS_001.tif
(这是两张 [单页] 图片)我想转换为包含这两个图片文本数据的 2 页 Drs_1_00192_1_ADS.pdf
。该代码适用于单页 pdf 创建。 我怎样才能使文件名中的所述多页模式起作用?
谢谢!
最佳答案
我会通过遍历所有以 000.tif
结尾的文件来做到这一点,这大概是多页文档的起点,然后附加由于递增后缀而产生的文件,直到文件是失踪。
#!/usr/bin/env python3
import os
from PIL import Image
from glob import glob
# Iterate over all files ending in '000.tif' and find their friends (subsequent pages)
for filename in glob('*_000.tif'):
# Work out stem of filename
stem = filename.replace('_000.tif', '')
print(f'DEBUG: stem={stem}')
# Build list of images to be put in this PDF
images = [Image.open(filename)]
index = 1
while True:
this = f'{stem}_{index:03d}.tif'
print(f'DEBUG: this={this}')
if os.path.isfile(this):
images.append(Image.open(this))
index += 1
else:
break
output = stem + '.pdf'
print(f'DEBUG: Saving {len(images)} pages to {output}')
images[0].save(output, save_all=True, append_images=images[1:])
示例输出
DEBUG: stem=Drs_1_00192_1_ADS
DEBUG: this=Drs_1_00192_1_ADS_001.tif
DEBUG: this=Drs_1_00192_1_ADS_002.tif
DEBUG: this=Drs_1_00192_1_ADS_003.tif
DEBUG: this=Drs_1_00192_1_ADS_004.tif
DEBUG: Saving 4 pages to Drs_1_00192_1_ADS.pdf
DEBUG: stem=Drs_1_00099_1_ADS
DEBUG: this=Drs_1_00099_1_ADS_001.tif
DEBUG: this=Drs_1_00099_1_ADS_002.tif
DEBUG: this=Drs_1_00099_1_ADS_003.tif
DEBUG: Saving 3 pages to Drs_1_00099_1_ADS.pdf
请注意,您可以轻松地使用 OpenCV 读取文件,只需替换:
image = Image.open(filename)
与
image = cv2.imread(filename)
但是,您不能像使用 PIL 那样使用 OpenCV 编写 PDF,所以我只是坚持使用 PIL。如果您还记得 PIL 使用 RGB 顺序而 OpenCV 使用 BGR,那么您可以轻松地在 PIL 和 OpenCV 之间切换,所以您可以通过以下方式从 PIL 转到 OpenCV:
OpenCVImage = np.array(PILImage)[...,::-1]
和
PILImage = Image.fromarray(OpenCVImage[...,::-1])
关于python - 从文件名读取单页 .tif 文件作为 multipage.tiff,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69464282/
学习AngularJS已经快一个月了。到目前为止我所理解的是,AngularJS 强制您创建 SPA,尽管您也可以创建多页面应用程序/网站,但我不知道如何创建,因为我没有找到好的示例。甚至 angul
我正在尝试开发一个包含三个独立信息的注册页面。 第一页将获得联系方式 第二页-工作细节 第三页 - 研究详情。 如何在发布表单前保留之前页面的表单数据? 最佳答案 您可以使用 Ajax 实现 - 多个
我在 Excel VBA 2010 中创建了一个多页表单。如何获取该多页中的页数? 谢谢,勒索 最佳答案 试试这个: Dim mulpage as Control, pge as Page, coun
我正在寻找一种策略,它允许我创建 Java Swing 应用程序并使用按钮更改我的 JFrame 上显示的组件。 我正在尝试使用 JButton 和 ActionListener 来做到这一点,但运气
更新:我发现从 OCRed 文件创建 pdf 文件是不合理的 所以最好保持原样,不进行转换。我仍然遇到一些图像已连接而另一些是 1 个寻呼机的问题。 data = [] listOfPages = g
我已经从向导“带有多选项卡编辑器的插件”创建了一个插件。 问题:在项目配置中,如果我将文件扩展名字段设置为html,则插件无法工作。如果我保留 mpe (预插入字段)或插入另一个未知的文件扩展名,那么
我有一个围绕两个页面的 jquery 移动表单: ... ... 当通过浏览器加载此页面时,它工作得很好。 但是,当通过 Ajax 调用页面时,正如您所期望的那样,表单标记不会导入到 do
我在我的网站中使用 jsPDF 来生成 PDF。但是现在我有多个 DIV 可以打印在一个 PDF 中。这可能需要 2 到 3 页。 例如: content content co
我有一个难题要解决。 Here is my sample project 基本上我想创建一个可编辑的类似书本的容器,并且由于每个书页都是另一个容器,所以我不知道如何在页面充满文本后让编辑器从一个页面过
我创建了 List favId = [];使用 SharedPreferences 存储项目 ID 的变量,因此我重新启动应用程序后收藏的项目 ID 不会丢失。这是我的 SharedPreferenc
有人可以清除多页中事件处理程序的用法吗?文档很好,但不要警告如果混合这些东西可能会出现的冲突。 例如,作为一个新手,我注意到如果我将我的事件处理程序放在这个 html 结构中,我会触发双重触发,这来自
我刚刚设法构建一些 javascript 代码以确保多个 slider 不超过最大值 24。 问题是,当我尝试在 jquery mobile 的多页模板中使用它时,它仅适用于第一页,无法检查通过多页模
我一直在研究单页应用程序和多页应用程序之间的区别,并且我认为我很好地了解了它们之间的区别。单页应用程序首先加载单个 html 页面,然后它不会再次完全刷新页面或覆盖原始页面,除非应用程序被刷新(浏览器
我们正在使用 Express 和 React 将 Web 应用程序从 ASP.NET 和 jQuery 迁移到 Node.js。我们正在使用典型的多页面应用程序(MVC),我们对这种架构很满意,并且我
我有以下程序。正如标题所示,每次我在第一页之后的页面上编辑项目时,表格都会返回到第一页。我希望表格保留在我正在编辑的页面上,而不跳回第一页。 我在这里的其他线程上看到了这个问题,但他们的解决方案似乎不
我有以下程序。正如标题所示,每次我在第一页之后的页面上编辑项目时,表格都会返回到第一页。我希望表格保留在我正在编辑的页面上,而不跳回第一页。 我在这里的其他线程上看到了这个问题,但他们的解决方案似乎不
I'm working with Gravity Forms (WordPress) on a pair of forms for a school. They have an initial
我是一名优秀的程序员,十分优秀!