我遇到了iText的奇怪问题。我有一个包含几个字段的文档。在我的服务器上,我打开本地文档,设置字段并将压模的输出发送到浏览器。
完全适用于我当地的开发机器。
服务器上生成的pdf缺少PDF内容。我只看到我设置的字段的内容,其余的是完全空白的。
任何提示?
答案 0 :(得分:2)
您在本地计算机上的应用程序会考虑您用作模板的PDF字节。您在服务器上的应用程序不尊重这些字节。也许您使用错误的编码复制了模板,使所有二进制字符损坏。或者,您的应用程序可能正在使用错误的编码读取模板,结果相同。
您可以通过在文本编辑器中打开PDF文件(而不是在PDF查看器中)来查找。查找关键字stream
并检查此关键字后面的字节。你看得到差别吗?在本地计算机上生成的PDF中,字节看起来像普通的二进制流。在服务器上生成的PDF中,字节看起来很笨拙。例如:它包含大量问号。
如何解决:检查模板是否被正确复制。如果是这样,请检查您阅读文档的方式。例如:在不使用iText的情况下将PDF模板读入字节数组并将其写入新的字节数组。你能重现腐败的过程吗?如果是这样,请调整您的应用程序(不涉及iText的应用程序),直到您获得正确的编码。