Как добавить PDF документ в виде кода в XML-файл (PHP) - PullRequest
0 голосов
/ 19 декабря 2018

Я создаю pdf и xml файлы для накладных отдельно.

Но теперь, согласно новому правилу, мне нужно отправить pdf документ в xml-файле в виде кода (base64Binary [RFC 2045]).

В PHP , я использую функцию SimpleXMLElement () .

Должен ли я использовать закодированный pdf в формате xml как текст в теге (вложение)?

Ответы [ 2 ]

0 голосов
/ 19 декабря 2018

Вы можете попробовать что-то подобное

$xmlString = <<<XML 
<?xml version='1.0'?> 
<document> 
    <cmd>login</cmd> 
    <login>Richard</login> 
</document> 
XML; 
$base64Pdf = base64_encode(file_get_contents('/path/to/file.pdf'));
$simpleXml = new SimpleXMLElement($xmlString);
$simpleXml->addChild('document', $base64Pdf);

Код для декодирования pdf.

$simpleXml = new SimpleXMLElement($xmlString);
$encodedPdf = $simpleXml->document;
$decodedPdf = base64_decode($encodedPdf);
file_put_contents("/path/to/decoded.pdf", $decodedPdf);
0 голосов
/ 19 декабря 2018

Вы можете получить содержимое документа, преобразовать его в base64 и вставить в свой XML-тег

https://secure.php.net/manual/en/function.file-get-contents.php

https://secure.php.net/manual/en/function.base64-encode.php

что-то близкое к нему.

$file = "file.pdf";


$content = file_get_contents($file);

$base64 = base64_encode($content);

$xml = new SimpleXMLElement('<xml/>');

$xml->addChild('file', "$base64");

print $xml->asXML();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...