C++读取PDF文件

标签 c++ parsing pdf binary

我正在使用以下代码读取 PDF 文件的内容:

string document;
FILE * f;
f = fopen ( path , "rb");
unsigned char buffer[1024];
while(!feof(f)){   
    int bytes = fread(buffer,1,1024,f);
    for(int i = 0; i < bytes; i++){
        document += buffer[i];
        cout << buffer[i];
    }
}
fclose ( f );

问题是,字符与我在文本编辑器中打开文件时的字符不同。 例如这个文件 files.flashfan.ch/file.png

此输出结果: files.flashfan.ch/output.png

如何读取文件,使字符与编辑器中的字符完全相同? 我想解析 PDF 文件,但没有原始字符我无法做到这一点。 我已经用这个文件测试了代码(它不是 PDF 文件,只是其中的一部分,所以你不能显示它):

PDF Head.pdf

感谢您的帮助!

最佳答案

我没有看到您读取文件的方式有任何错误(当我将输出重定向到文件时,代码实际上可以在我的 Linux 机器上运行)。问题可能出在与控制台混淆的控制字符中。尝试输出到文件并与输入进行比较。

关于C++读取PDF文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4448865/

相关文章:

django - wkhtmltopdf 只呈现浮图的轴?

java - 解析日期时出现异常

python - 从配置文件中读取 bool 条件?

r - Rmarkdown 文档的字体

c++ - 在 C++ 中,相等运算符中两个 = 之间的空格是否合法?

c++ - 如何在 Visual Studio 2005 及更高版本中自动更改项目设置

c++ - OpenMP 嵌套,不等号。迭代次数

java - "isNaN(INFINITY)==false"是错误的

java - 如何在 Java 中将带有参数的 uri 解析为 Map

javascript - 如何将css文件添加到pdf文档中?