【问题标题】:Decoded Base64 string from RoyalMail not loading as PDF来自 RoyalMail 的解码 Base64 字符串未加载为 PDF
【发布时间】:2017-03-17 16:19:28
【问题描述】:

创建一个与 RoyalMail 对话以获取标签代码并尝试打印标签的应用程序。在他们的文档中,“printLabelResponse”包含 Base64 字符串中的 PDF,他们举了一个例子:

JVBERi0xLjYKJeTjz9IKMSAwIG9iagpbL1BERi9JbWFnZUIvSW1hZ2VDL0ltYWdlSS9UZXh0XQpl
bmRvYmoKNCAwIG9iago8PC9MZW5ndGggNSAwIFIKL0ZpbHRlci9GbGF0ZURlY29kZQo+PgpzdHJl
YW0KeJwDAAAAAAEKZW5kc3RyZWFtCmVuZG9iago1IDAgb2JqCjgKZW5kb2JqCjYgMCBvYmoKPDwv
+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncA
AQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6
Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeo
MCBSCi9JbmZvIDMyIDAgUgovSURbPDZDM0VCNEREOEE2OTNEMTVDQUE4NkRCODJCNTc2MTIzPjw2
QzNFQjRERDhBNjkzRDE1Q0FBODZEQjgyQjU3NjEyMz5dCj4+CnN0YXJ0eHJlZgoxMzI1OTYKJSVF
T0YK

下面的代码是我用来创建 PDF 文件的代码(base64Text 是 上面的 Base64 编码字符串)

string filePath = Directory.GetCurrentDirectory() + @"\output_PDF.pdf";
byte[] base64TextBytes = Convert.FromBase64String(base64Text);
File.WriteAllBytes(filePath, base64TextBytes);

我已将其他 PDF 文件转换为 Base64 字符串并将它们保存到文本文件中,然后将该文本复制粘贴到我在本地读取的“标签”标签中的 soap/xml 文件中,以模拟来自皇家邮政和设法将其保存为成功打开的PDF。

我的代码从上面的 base64 字符串的输出是:

%PDF-1.6
%����
1 0 obj
[/PDF/ImageB/ImageC/ImageI/Text]
endobj
4 0 obj
<</Length 5 0 R
/Filter/FlateDecode
>>
stream
x�    
 endstream
endobj
5 0 obj
8
endobj
6 0 obj
<</Length 7 0 R
/Filter/FlateDecode
>>
stream
x�3P0P0��P016R032219 00000 n 
0000032743 00000 n 
0000103489 00000 n 
0000103467 00000 n 
0000105070 00000 n 
0000104685 00000 n 
0000105419 00000 n 
trailer
<</Size 47
/Root 46 0 R
/Info 36 0 R
/ID[<3EE4406240B0CAF52A875D8627BD8575><3EE4406240B0CAF52A875D8627BD8575>]
>>
startxref
105491
%%EOF

但是这不会在 Adob​​e Acrobat 阅读中打开,也不会打印。

这个 Base64 字符串是不正确的,还是我读错了,还是别的什么? 非常感谢

【问题讨论】:

    标签: c# pdf base64


    【解决方案1】:

    我尝试使用我知道有效的流程对其进行转换,但无法在 adobe reader 中打开该文件。我使用了在其他地方找到的不同编码字符串,它起作用了。您在问题中使用的 base64 字符串格式不正确。

    【讨论】:

    • 感谢您的确认。希望这可以帮助任何使用 RoyalMail API 进行标签打印的人。希望它只是文档中格式错误的那个。
    猜你喜欢
    • 1970-01-01
    • 2021-11-30
    • 1970-01-01
    • 2015-11-07
    • 1970-01-01
    • 1970-01-01
    • 2016-04-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多