pdf字节数组读取第一行

时间:2010-11-08 20:40:50

标签: c# pdf itext

我有一个pdf字节数组,想知道是否有一种简单的方法可以将第一行文本读入变量?

谢谢, 杆

2 个答案:

答案 0 :(得分:1)

查看“SimpleTextParser”以及com.itextpdf.text.pdf.parser包的其余部分(或其在C#-ville中调用的任何内容)。

请注意,“第一行文字”在PDF中是一个非常滑的概念。在特定坐标处绘制字形。如果给定的一组字形碰巧共享一个基线,它们在视觉上在同一条线上。如果给定的共享基线是最接近页面顶部的基线,则为“第一个”。

哦,页面可能会旋转,把所有东西都扔进一种叫做“矩阵数学”的特殊地狱。

没有特别要求以逻辑顺序写出PDF格式的文本。人们可以通过并写下所有'a',然后是'b',等等。不是血腥(或有效),但完全合法。可能的是,绘制给定字体中的所有文本,然后是下一个字体中的所有文本,依此类推。如果第一行文本恰好是几种不同的字体(粗体,斜体等),您可能会发现它比预期找到正确的文本行更难。程序可以很容易地按字母顺序迭代字体,或者将它们存储在哈希映射中......不依赖于逻辑顺序来匹配“绘制事物的顺序”。迟早(可能更早)你会受到严重的打击。

我建议你去阅读iText FAQ或者两个。你的问题背叛了一种无知的程度,只要你付出一点努力就可以轻松解决。如果不出意外的话,iText In Action(及其样本的聚宝盆)中免费提供的章节应该证明是有启发性的。

答案 1 :(得分:0)

byte[] pdf;
BufferedReader in = new BufferedReader(new InputStreamReader(new ByteArrayInputStream(pdf)));
String firstLine = in.readLine();
in.close();