将pdf转换为小块数据(每页多块)?

时间:2014-10-10 04:22:13

标签: html pdf

我有一个pdf文件,我需要从中获取小块数据。 它的结构如下:

  

Page1:

     

问题1

     

......................................

     

......................................

     

问题2

     

......................................

     

......................................

     

Page End

我想将问题1和问题2作为单独的html文件,其中包含文本和图像。

我已经尝试了

pdftohtml -c pdffile.pdf output.html

我得到了带有png图像的文件,但如何将图像切割成较小的块以适合每个问题的大小(我想将每个问题分成单个文件)?

P.S。我有很多pdf文件,所以命令行工具会很好。

1 个答案:

答案 0 :(得分:1)

我会试着告诉你如何解决这个问题。您提到,PDF文档中的每个页面可能都有多个问题,您基本上希望每个问题都有一个HTML文件。

如果pdftohtml适合您,那就太棒了,但我也找到了另一个你想command line utility try out的好relevant SO Post

好的,假设您从最初的PDF转换了HTML文件,您可能希望使用csplitawk根据分隔符将文件拆分为多个文件&#39 ;问题'在你的情况下。 (旁注 - csplitawk是特定于Linux的实用程序,但如果您使用的是Windows或MAC,我确定有其他选择。我还没有特别尝试以下代码)

来自{{3}}:

 csplit input.txt'/^Question$/' '{*}'

 awk '/Question/{filename=NR".txt"}; {print >filename}' input.txt

因此,假设这有效,您将拥有几个已损坏的 html文件。 已损坏,因为在拆分后由于悬挂<>或其他一些流浪HTML元素而导致其未获取消息。

因此,您可以将初始.html保存为.txt,具体删除htmlheadbody元素,然后浏览常规结构程序如何将pdf转换为html。我确定你会看到一个关于字符串&#39; Quetion&#39;包裹在一个元素中,是你可以照顾的东西。这就是我在代码片段中提到.txt个文件的原因。

你基本上会有一堆只有内容html的文本文件,而不是html文件的常用起始标记,因为我们最初删除了它。然后,只需要阅读每个文件,只需要处理字符串周围的元素&#39;问题&#39;并在内容周围添加htmlheadbody元素,并将其另存为.html个文件。您可以使用您选择的任何支持文件读写的编程语言(这将是一个有趣的练习)

我希望这能让你开始朝着正确的方向前进。