我有一个pdf文件,我需要从中获取小块数据。 它的结构如下:
Page1:
问题1
......................................
......................................
问题2
......................................
......................................
Page End
我想将问题1和问题2作为单独的html文件,其中包含文本和图像。
我已经尝试了
pdftohtml -c pdffile.pdf output.html
我得到了带有png图像的文件,但如何将图像切割成较小的块以适合每个问题的大小(我想将每个问题分成单个文件)?
P.S。我有很多pdf文件,所以命令行工具会很好。
答案 0 :(得分:1)
我会试着告诉你如何解决这个问题。您提到,PDF
文档中的每个页面可能都有多个问题,您基本上希望每个问题都有一个HTML
文件。
如果pdftohtml适合您,那就太棒了,但我也找到了另一个你想command line utility try out的好relevant SO Post。
好的,假设您从最初的PDF转换了HTML文件,您可能希望使用csplit
或awk
根据分隔符将文件拆分为多个文件&#39 ;问题'在你的情况下。 (旁注 - csplit
和awk
是特定于Linux的实用程序,但如果您使用的是Windows或MAC,我确定有其他选择。我还没有特别尝试以下代码)
来自{{3}}:
csplit input.txt'/^Question$/' '{*}'
awk '/Question/{filename=NR".txt"}; {print >filename}' input.txt
因此,假设这有效,您将拥有几个已损坏的 html文件。 已损坏,因为在拆分后由于悬挂<
或>
或其他一些流浪HTML
元素而导致其未获取消息。
因此,您可以将初始.html
保存为.txt
,具体删除html
,head
和body
元素,然后浏览常规结构程序如何将pdf
转换为html
。我确定你会看到一个关于字符串&#39; Quetion&#39;包裹在一个元素中,是你可以照顾的东西。这就是我在代码片段中提到.txt
个文件的原因。
你基本上会有一堆只有内容html的文本文件,而不是html文件的常用起始标记,因为我们最初删除了它。然后,只需要阅读每个文件,只需要处理字符串周围的元素&#39;问题&#39;并在内容周围添加html
,head
和body
元素,并将其另存为.html
个文件。您可以使用您选择的任何支持文件读写的编程语言(这将是一个有趣的练习)
我希望这能让你开始朝着正确的方向前进。