C# pdf字节数组读取第一行

C# pdf字节数组读取第一行,c#,pdf,itext,C#,Pdf,Itext,我有一个pdf字节数组,想知道是否有一种简单的方法可以将第一行文本读入变量 谢谢, rod查看SimpleTextParser和com.itextpdf.text.pdf.parser包的其余部分,或者C-ville中的任何名称 请注意,第一行文本在PDF中是一个非常容易理解的概念。图示符在特定坐标处绘制。如果给定的标志符号束恰好共享一条基线,则它们在视觉上位于同一条线上。如果给定的共享基线是最靠近页面顶部的基线,则它是第一个 哦,页面可能会旋转,把所有东西都扔进一个叫做矩阵数学的特殊地狱 没有

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

谢谢,
rod

查看SimpleTextParser和com.itextpdf.text.pdf.parser包的其余部分,或者C-ville中的任何名称

请注意,第一行文本在PDF中是一个非常容易理解的概念。图示符在特定坐标处绘制。如果给定的标志符号束恰好共享一条基线,则它们在视觉上位于同一条线上。如果给定的共享基线是最靠近页面顶部的基线,则它是第一个

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

没有特别要求以逻辑顺序写出PDF格式的文本。人们可以通读并写出所有的a,然后是b,等等。不太可能或没有效率,但完全合法。可能的情况是,绘制给定字体中的所有文本,然后是下一个字体中的所有文本,依此类推。如果第一行文本恰好使用了两种不同的字体(粗体、斜体等),您可能会发现查找正确的文本行比预期的要困难。程序可能很容易按字母顺序遍历字体,或者将它们存储在哈希映射中。。。不要依赖逻辑顺序来匹配事物的绘制顺序。你迟早会受到粗鲁的打击


我建议你去读一两个iText常见问题解答。你的问题暴露出一种无知的程度,你只要稍加努力,这种无知很容易被治愈。如果没有其他内容,免费提供的章节及其丰富的样本应该会很有启发性。

这可能不是他想要的:哦。。。也许我应该把它重新标记为Java,这样我的答案更适合:Oh2!我以为他想读取字节数组的第一行来确定PDF版本。。。不是PDF文本的第一行:嗯。。。他的问题不太准确我不知道,但我想我会更幸运地直接问iText背后的人他们的产品是否可行。从我对PDF格式的最低知识来看,我可以告诉你,阅读第一行文本需要先阅读/解析文本。所有这些都是假设PDF中的文本确实是文本。它可以是未映射的标志符号,没有“波形集合”到“字符”信息、位图或线条艺术。如果以上任何一种情况都是这样的话,那么你就会被OCR所困扰,因为OCR至少应该让你的文本有一个合理的顺序。如果您可以从Acrobat/Reader中选择、复制和粘贴文本,那么您很可能可以使用iText将文本输出。如果不是,你就注定要失败。
byte[] pdf;
BufferedReader in = new BufferedReader(new InputStreamReader(new ByteArrayInputStream(pdf)));
String firstLine = in.readLine();
in.close();