|
Сохранение pdf в 1с | ☑ | ||
---|---|---|---|---|
0
val245
04.03.24
✎
14:11
|
Доброго времени суток
Делаю интеграцию со сторонним приложением. Сервис сторонней программы возвращает файл pdf в виде строки в таком виде: "%PDF-1.7 %���� 76 0 obj <</Fields []>> endobj 30 0 obj <</Type /Catalog/Pages 38 0 R/Metadata 39 0 R/Names <<>>>> endobj 77 0 obj..." ну и т.д. Теперь как сохранить его в PDF? Пытаюсь записать его в текстовый документ и сохранить в формате pdf таким образом: ФайлTXT = Новый ТекстовыйДокумент; ФайлTXT.УстановитьТекст(СтрокаОтветаСервера); ФайлTXT.Записать("C:\TEST.txt"); Но текст сохраняется в файле не полностью. Кто может помочь? |
|||
1
Волшебник
04.03.24
✎
14:14
|
Получайте как двоичные данные и сохраняйте как TEST.pdf
|
|||
2
H A D G E H O G s
04.03.24
✎
14:16
|
Конечно он не полностью сохранится, так как там в нем null-terminate, наследие C языков, скажите спасибо Ритчи Деннису. Плакать и страдать будет еще не одно поколение.
Получай в виде ДвоичныеДанные или BASE64, их и сохраняй. Нет разрядного устройства — Сука, чистое расстройство! |
|||
3
val245
04.03.24
✎
14:17
|
А как его сохранить в двоичные данные, если он возвращает как pdf? При попытке записать этот текст в двоичные данные также выходит ошибка
|
|||
4
H A D G E H O G s
04.03.24
✎
14:23
|
(3) Попросите сервис транслировать этот файл согласно стандарта MIME:BASE64
|
|||
5
KJlag
04.03.24
✎
14:26
|
(3) спросить сервис - есть ли у них передача пдф файла в виде двоичных данных или base64, а не в виде странной строки.
а что за строка то? в смысле документация что говорит об их выгрузке? типо туда запихивается тупо текст пдфки (что както слабо верится)? |
|||
6
H A D G E H O G s
04.03.24
✎
14:29
|
(5) Думаю - автор - создатель этого сервиса. Чет чувствуется.
|
|||
7
arsik
04.03.24
✎
14:32
|
+(6) "Запахло весной"(с)
|
|||
8
Garykom
04.03.24
✎
14:32
|
(0) Перепиши получение с записью ответа сразу в файл
Временный файл, путь которого укажешь параметром |
|||
9
val245
04.03.24
✎
14:40
|
(5) Если pdf файлу поменять расширение на txt, то он его как раз в таком виде и открывает
|
|||
10
val245
04.03.24
✎
14:40
|
(6) если бы....
|
|||
11
val245
04.03.24
✎
14:41
|
(8) не совсем понял
|
|||
12
H A D G E H O G s
04.03.24
✎
14:42
|
(9) Если файлу mylittlepony.exe поменять расширение на txt, то он его тоже того, но это не сделает маленькую пони текстовым файлом.
|
|||
13
val245
04.03.24
✎
14:44
|
(12) Ну как сказали разработчики приложения, это файл pdf. Ну дальше пришлось разбираться самому. Как теперь этот текст преобразовать обратно в pdf?
|
|||
14
Garykom
04.03.24
✎
14:51
|
(11)
HTTPСоединение (HTTPConnection)
Получить (Get) Синтаксис: Получить(<HTTPЗапрос>, <ИмяВыходногоФайла>) Параметры: <HTTPЗапрос> (обязательный) Тип: HTTPЗапрос. HTTP-запрос. <ИмяВыходногоФайла> (необязательный) Тип: Строка. Имя файла, в который помещаются данные полученного ресурса. Если не указан или содержит пустую строку, то тело ответа может быть получено из объекта HTTPОтвет. Возвращаемое значение: Тип: HTTPОтвет. Описание: Получает данные с HTTP-сервера, используя GET-запрос. Доступность: Сервер, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер. Использование в версии: Доступен, начиная с версии 8.0. Не рекомендуется использовать, начиная с версии 8.3.21. Описание изменено в версии 8.3.21. Методическая информация |
|||
15
Philix
04.03.24
✎
14:55
|
(13) Мэтр, слово "текст" забудьте для данного случая, оно мешает. Вам нужно выполнить (1). Показывайте, как Вы добываете этот чудный PDF. Ошибка где-то там.
или... Телепатирую: где-то по тексту есть СтрокаОтветаСервера = ОтветСервера.ПолучитьТелоКакСтроку(); Надо: ДвоичныеДанныеОтвета = ОтветСервера.ПолучитьТелоКакДвоичныеДанные(); ДвоичныеДанныеОтвета.Записать(ИмяФайлаДляСохраненияДокумента); Ну или ЗаписатьАсинх, если Вы на острие моды на асинхронные операции :) Еще бы надо курнуть тип ответа, что это именно оно, но это я уже не помню как сделать.... |
|||
16
Garykom
04.03.24
✎
14:56
|
(15) Эмм зачем промежуточные танцы с ПолучитьТелоКакДвоичныеДанные() ?
Когда можно сразу HTTPСоединение.Получить(HTTPЗапрос, ИмяВыходногоФайла.pdf) |
|||
17
Philix
04.03.24
✎
15:01
|
(16) Согласен... Никогда так не делал. Обычно было нужно с ответом поиграться, заголовки попарсить, в параноидальный лог записать :)
|
|||
18
val245
04.03.24
✎
15:03
|
Спасибо, понял
|
|||
19
val245
04.03.24
✎
15:04
|
Получилось
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |