【发布时间】:2011-07-08 05:24:30
【问题描述】:
我有一个监听器,它接收一个 JMS TextMessage,其中包含 pdf 内容。
我正在做 getBytes("Cp037") 因为它来自大型机
当我运行“PdfReader reader = new PdfReader(bais)”行时;
它因找不到 PDF 标头签名而崩溃。
它应该是一个有效的 pdf,因为另一个应用程序能够获取该 pdf。
可能是什么问题?谢谢
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.TextMessage;
TextMessage txtMessage = (TextMessage)message;
ByteArrayInputStream bais = new ByteArrayInputStream(txtMessage.getText().getBytes("Cp037"));
PdfReader reader = new PdfReader(bais);
【问题讨论】:
-
@john 你能试试
txtMessage.getText().getBytes(System.getProperty("file.encoding"))吗? -
不,它不起作用。我认为这可能与 JMS 相关...我收到的是 TextMessage 而不是 BytesMessage。我确实在第一行看到了 PDF-1.3,但在那之前我看到了一堆奇怪的字符
-
好的。您提到的其他应用程序如何处理它?
-
您不得将 PDF 转换为文本。里面有一堆不能改变的二进制信息。
-
奇怪的字符可能是BOM序列
标签: spring jms websphere itext