Как преобразовать шестнадцатеричный код в файл формата PDF?

Как можно сконвертировать данные JSON из 1С, содержащие кодировку в виде hex строки, обратно в PDF файл? Может потребоваться использовать функцию pack("H*", $data) при выполнении манипуляций.
  • 21 мая 2024 г. 12:31
Ответы на вопрос 2
Для преобразования шестнадцатеричного кода в файл формата PDF вы можете использовать следующий код на PHP:

```php
// Шестнадцатеричный код в виде строки
$hexString = "255044462D312E330D0A25E2E3CFD30D0A34";
// Преобразование в бинарный вид
$binaryData = pack("H*", $hexString);

// Запись данных в файл PDF
file_put_contents('output.pdf', $binaryData);
```

В данном примере, мы сначала преобразуем шестнадцатеричный код в бинарный вид с помощью функции pack("H*", $data), а затем записываем полученные данные в файл с расширением PDF.

Чтобы сконвертировать данные JSON из 1С, содержащие кодировку в виде hex строки, обратно в PDF файл, вам необходимо сначала получить шестнадцатеричный код из JSON данных, а затем выполнить преобразование, как показано в примере выше. Таким образом, вы сможете создать PDF файл из данных, содержащихся в JSON формате с кодировкой в виде hex строки.
Скорее всего так: 
$content = hex2bin(str_replace(" ","", "25 50 44 46 2D 31 2E 35 0D 0A 25 B5 B5 B5 B5 0D 0A 31 20 30 20 6F 62 6A 0D 0A 3C 3C 2F 54 79 70 65 2F 43 61 74 61 6C 6F 67 2F 50 61 67 65 73 20 32 20 30 20 52 2F 4C 61 6E 67 28 72 75 2D 52 55 29 20 2F 53 74 72 75 63 74 54 72 65 65 52 6F 6F 74 20 32 32 20 30 20 52 2F 4D 61 72 6B 49 6E 66 6F 3C 3C 2F 4D 61 72 6B 65 64 20 74 72 75 65 3E 3E 3E 3E 0D 0A 65 6E 64 6F 62 6A 0D 0A 32 20 30 20 6F 62 6A 0D 0A 3C 3C 2F 54 79 70 65 2F 50 61 67 65 73 2F 43 6F 75 6E 74 20 31 2F 4B 69 64 73 5B 20 33 20 30 20 52 5D 20 3E 3E 0D 0A 65 6E 64 6F 62 6A 0D 0A 33 20 30 20 6F 62 6A 0D 0A 3C 3C 2F 54 79 70 65 2F 50 61 67 65 2F 50 61 72 65 6E 74 20 32 20 30 20 52 2F 52 65 73 6F 75 72 63 65 73 3C 3C 2F 45 78 74 47 53 74 61 74 65 3C 3C 2F 47 53 35 20 35 20 30 20 52 2F 47 53 36 20 36 20"));
// если записать в каталог сервера, то так:
file_put_contents("file.pdf", $content);
// если отдать контент браузеру, то так:
header("Content-type:application/pdf");
header("Content-Disposition:inline;filename='file.pdf");
echo $content;
Похожие вопросы