将连续文本从 PDF 文件复制到 TXT 文件

将连续文本从 PDF 文件复制到 TXT 文件

我的问题并不明确指 LaTeX 本身,而是指生成的 PDF。长话短说:我希望能够将文本从 PDF 复制到 TXT 文件作为连续文本。我相信这是许多人的常见问题。

我正在处理编译为 PDF 文件的 LaTeX 文档。我的文本包含许多单词分隔符在行尾。有时我需要将 PDF 中的文本复制到纯文本文件 (*.txt)。很遗憾

PDF 旨在模仿打印页面,并且它们仅被设计为输出格式,而不是输入格式。PDF 基本上是包含字符(单个字母或标点符号等)或图像的精确位置的地图。在多数情况下,PDF 甚至不存储一个单词在何处结束以及另一个单词在何处开始的信息,更不用说段落结尾的软分隔符和硬分隔符之类的信息了。

因此,当我将以下文本编译为 PDF 时,我并不感到惊讶:

\documentclass{article}
\usepackage{graphicx}

\begin{document}

\title{Introduction to \LaTeX{}}
\author{Author's Name}

\maketitle

\begin{abstract}
The abstract text goes here.
\end{abstract}

\section{Introduction}
This is \LaTeX text that will be copied and pasted. Verylongword. Taumatawhakatangi­hangakoauauotamatea­turipukakapikimaunga­horonukupokaiwhen­uakitanatahu is a hill near Porangahau, south of Waipukurau in southern Hawke's Bay, New Zealand.

\subsection{Subsection Heading Here}
This text comes from Wikipedia.: The name "Taumatawhakatangihangakoauauotamateaturipukakapikimaungahoronukupokaiwhenuakitanatahu" translates roughly as "The summit where Tamatea, the man with the big knees, the slider, climber of mountains, the land-swallower who travelled about, played his nose flute to his loved one".

\end{document}

结果是:

根据示例创建的 PDF

我将整个文本复制到 TXT 文件,得到:

Introduction to L A TEX
Author’s Name
April 29, 2017
Abstract
The abstract text goes here.
1
Introduction
This is L A TEXtext that will be copied and pasted. Verylongword. Taumatawhakatangi-
hangakoauauotamateaturipukakapikimaungahoronukupokaiwhenuakitanatahu is
a hill near Porangahau, south of Waipukurau in southern Hawke’s Bay, New
Zealand.
1.1
Subsection Heading Here
This text comes from Wikipedia.: The name ”Taumatawhakatangihangakoauauo-
tamateaturipukakapikimaungahoronukupokaiwhenuakitanatahu” translates roughly
as ”The summit where Tamatea, the man with the big knees, the slider, climber
of mountains, the land-swallower who travelled about, played his nose flute to
his loved one”.

最多令人恼火单词中断和行尾会变成新行,因此复制的文本不连续。有什么技巧可以帮助我将文本从 PDF 复制到 TXT 文件作为连续文本?

直接从 TEX 源复制文本不是一个选择,因为上面的例子非常简单——典型的 TEX 源包含宏、格式化命令等等。

答案1

发布(作为社区 wiki)Marijn 的评论,原帖作者说“谢谢 @Marijn!你可以发布你的答案,这样我就可以接受它。”

一个问题关于 Stack Overflow 上的这个问题,在那里的答案中,OP 发现效果最好的是德特克斯(opendetex)。这在源 TeX 文件而不是 PDF 文件上运行。

为了完整性,Stack Overflow 答案中提到的其他选项是:

  • 卡特维在 DVI 文件上运行
  • 转换为 HTML(使用 htlatex / tex4t / hyperlatex /橡胶树),然后从 HTML 文件中提取文本
  • 潘多克,多种格式之间的多功能转换器
  • LaTeX2RTF 转换为 RTF,然后以某种方式提取文本
  • 安特克斯

更多内容请参阅 TeX FAQ:从 (La)TeX 转换为纯文本

注意:这是社区维基,因此如果可能的话,请编辑答案而不是留下评论。

答案2

既然您已经提到,这不是一个特定于 LaTeX 的问题,那么您不应该感到惊讶,我的答案也与 LaTeX 无关:)。

一种方法可能是使用所谓的OCR(光学字符识别)软件

  • OCR 软件能够理解图片并将其转换为可编辑的文本。
  • OCR 软件甚至可以理解多列布局等等。
  • 我是一本著名的德国计算机杂志的读者
  • 2017 年第 6 期对该软件进行了很好的评论Abbyy FineReader 14(有 30 天的试用期)。
  • 或者尝试其他 OCR 软件,例如免费OCR或者直接用 Google 搜索其他选项:)。

相关内容