RoyalMailと会話してラベルコードを取得し、ラベルを印刷しようとするアプリケーションを作成します。以下のコードは、私はbase64Textは、上記から Base64でエンコードされた文字列です(PDFファイルを作成し、その後に使用するものですRoyalMailからデコードされたBase64文字列がPDFとして読み込まれない
JVBERi0xLjYKJeTjz9IKMSAwIG9iagpbL1BERi9JbWFnZUIvSW1hZ2VDL0ltYWdlSS9UZXh0XQpl
bmRvYmoKNCAwIG9iago8PC9MZW5ndGggNSAwIFIKL0ZpbHRlci9GbGF0ZURlY29kZQo+PgpzdHJl
YW0KeJwDAAAAAAEKZW5kc3RyZWFtCmVuZG9iago1IDAgb2JqCjgKZW5kb2JqCjYgMCBvYmoKPDwv
+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncA
AQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6
Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeo
MCBSCi9JbmZvIDMyIDAgUgovSURbPDZDM0VCNEREOEE2OTNEMTVDQUE4NkRCODJCNTc2MTIzPjw2
QzNFQjRERDhBNjkzRDE1Q0FBODZEQjgyQjU3NjEyMz5dCj4+CnN0YXJ0eHJlZgoxMzI1OTYKJSVF
T0YK
:彼らのドキュメント「printLabelResponse」Base64文字列でPDFが含まれていて、彼らは例を挙げました私がシミュレートするために、ローカルに読んでイム「ラベル」タグでSOAP/XMLファイルにコピー・貼り付け、その後、そのテキストをBase64で文字列の中に他のPDFファイルを変換し、テキストファイルにそれらを保存している)
string filePath = Directory.GetCurrentDirectory() + @"\output_PDF.pdf";
byte[] base64TextBytes = Convert.FromBase64String(base64Text);
File.WriteAllBytes(filePath, base64TextBytes);
メッセージをRoyal Mailから受け取って、これをPDFとして保存して正常に開くことができました。
上記base64文字列から自分のコードの出力は次のとおりです。ただし、この文句を言わないAdobe Acrobatの読み取り中にオープンして文句を言わない印刷
%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
。
このBase64文字列は間違っていますか、間違って読み込んでいますか? 多くのありがとう
ご確認いただきありがとうございます。これは、ラベル印刷に関してRoyalMail APIを使用している人に役立ちます。うまくいけば、docsのものが不正な形式だと思う。 – ThatUser