Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在为扫描的PDF创建文本层时,是否在不破坏页面外观的情况下编辑文本?_Python_Pdf_Ocr_Pdfbox - Fatal编程技术网

Python 在为扫描的PDF创建文本层时,是否在不破坏页面外观的情况下编辑文本?

Python 在为扫描的PDF创建文本层时,是否在不破坏页面外观的情况下编辑文本?,python,pdf,ocr,pdfbox,Python,Pdf,Ocr,Pdfbox,在为扫描PDF编辑创建文本(使用OCR获取文本)层时(因为OCR提供了错误的文本),文本不会弄乱页面外观 在创建textlayer(能够搜索扫描的PDF)和提供PDF/A标准文档(不影响任何页面UI)方面做得最好。它使用Tesseract ocr检测文本,但有时Tesseract会给出错误的检测文本。因此,我希望使用户能够更改该文本并完成PDF的创建 示例OCR无法正常工作。因此,您希望在渲染为PDF之前更新ocr检测到的文本 解决方案需要,例如,更改ocrmypdf的源代码或使用PDFBOX更

在为扫描PDF编辑创建文本(使用OCR获取文本)层时(因为OCR提供了错误的文本),文本不会弄乱页面外观

在创建textlayer(能够搜索扫描的PDF)和提供PDF/A标准文档(不影响任何页面UI)方面做得最好。它使用Tesseract ocr检测文本,但有时Tesseract会给出错误的检测文本。因此,我希望使用户能够更改该文本并完成PDF的创建

示例OCR无法正常工作。因此,您希望在渲染为PDF之前更新ocr检测到的文本

解决方案需要,例如,更改ocrmypdf的源代码或使用PDFBOX更新文本都适合我

例如:

OCRMYPDF输入


OCRMYPDF输出

您到底期望什么?用户应如何更改该文本?是否要创建一些GUI,以便它们能够以某种方式影响扫描下面的文本?或者您想只给他们识别的带有坐标的文本片段,并且他们可以更改它们吗?这将导致ocrmypdf/pdfbox解决方案的工作方式。@mkl我只想给他们带坐标的可识别文本片段,然后他们可以更改它们?这正是我所需要的。好吧,如果你看一下生成的内容流文本绘制指令,它们看起来相当容易操作:UTF-16-ish字体编码,每段文本都由自己的Tm指令定位。尽管如此,如果在创建这些文本绘制指令之前就可以连接到ocrmypdf,那么从一开始就可以根据需要嵌入文本,这会更好。不幸的是,我不知道ocrmypdf或tesseract的内部结构,无法帮助实现。好的,所以我将尝试在创建文本层后操作文本。你能给出一些示例代码吗?我如何使用PDFBOX根据位置进行操作?