Имя: Пароль:
1C
 
Сохранение табличного документа в PDF
0 Telcher
 
10.10.25
12:35
Добрый день, коллеги! Мне необходимо сохранить табличный документ в pdf файл на сервере (обязательно на сервере, так как клиент - это другое устройство).
Использую следующую конструкцию:
ТабДок.Записать(ТабДокПуть, ТипФайлаТабличногоДокумента.pdf);

При сохранении изменяется шрифт на другой. Полазив по интернету понял, что ошибка стандартная и не все шрифты можно сохранять в pdf (Шрифт просто заменяется на arial).

Вопрос, есть какой-нибудь способ все-таки сохранить табдок в пдф файл с нужным мне шрифтом на сервере?

1С:Предприятие 8.3 (8.3.23.1688)
1 lEvGl
 
гуру
10.10.25
12:39
(0) вручную сделать это на сервере получается?
2 Гипервизор
 
10.10.25
12:39
Какой именно шрифт? А то вдруг он коммерческий и вы тут спрашиваете о нехорошем действии.
3 Telcher
 
10.10.25
12:56
(1) Имеете в виду интерактивно? Если вывести табличный документ на экран и оттуда напечатать - все замечательно, шрифт нужный

Но мне нужно именно программно вызывать сохранение в пдф файл, не выводя на экран (кассиры сканируют ШК, им из принтера вылезает ценник)
4 maxab72
 
10.10.25
12:57
(0) скорее всего этот специальный шрифт установлен на клиенте и в пдф не встраивается (там какой-то режим надо указывать при сохранении, чтоб шрифт был встроен). попробуйте сохранять пдф на клиенте а потом переносить его на сервер.
5 Мультук
 
гуру
10.10.25
13:10
Вот интересно
1) А на сервере эти нестандартные шрифты стоят ?
2) А если всё же поставить ?
6 PR
 
10.10.25
13:17
А если сохранить на клиенте, а на сервер потом только передать?
7 Telcher
 
10.10.25
13:22
(5) Шрифт установлен на сервере.. В любые другие форматы (docx, xlsx, mxl) сохраняется нормально с правильным шрифтом. А в pdf - подменяет шрифт
Из справки:
При выводе в формат PDF шрифты, которые нельзя внедрять, а также шрифты, не являющиеся TrueType или OpenType, будут заменены на шрифт Arial. Если данный шрифт не обнаружен, то будет использован шрифт Helvetica.

Возможно есть какой-то обходной путь сохранения файла на сервере
8 Telcher
 
10.10.25
13:23
(6) Такой вариант должен работать, но звучит колхозно
9 PR
 
10.10.25
13:26
(8) Звучит как нативное сохранение на твоих клиентских педалях, а потом уж делай что хочешь
С чего ты вдруг решил, что на сервере должен быть тот же микроклимат, что и на твоем клиенте?
10 PR
 
10.10.25
13:29
Я больше скажу, может и не сработать
Так-то по логике, если в pdf не будет-таки нужного шрифта и pdf будет верно показываться только на клиенте, пожтягивая локальный шрифт, то откуда этот шрифт возьмется сам по себе в pdf на другом компе?
Так что в итоге может оказаться, что рабочий вариант только (4)
11 maxab72
 
10.10.25
13:37
(8) Если не колхозить. то сохранять пдф при помощи каких-нибудь внешних библиотек, типа Квик ПДФ.
12 Garykom
 
гуру
10.10.25
13:43
(0) 1. Перебрать используемые (внутри ТабДок) шрифты
2. Получить на клиенте эти шрифты из системы или с инета
3. Отправить шрифты на сервер и там их установить (где возьмете админские права отдельная проблема)
13 Garykom
 
гуру
10.10.25
13:44
(11) Откуда эта внешняя библиотека возьмет шрифты?
14 lEvGl
 
гуру
10.10.25
14:03
(12) говорит, что на сервере вручную сохраняет нормально
15 Telcher
 
10.10.25
14:04
(12) Шрифт установлен на сервере. В табдоке 100 процентов стоит нужный мне шрифт (плюс в другие форматы сохраняется корректно)

Видимо остается вариант только с сохранением на клиенте и передачей на сервер
16 Telcher
 
10.10.25
14:05
(14) Я не совсем понимаю, что значит вручную?
17 Telcher
 
10.10.25
14:07
Стандартные шрифты типо "times new roman" также сохраняет корректно на сервере

Кстати, новая информация. Попробовал открыть пдф файл (с рандомным шрифтом) и изменить на нужный мне (он установлен). Выдало ошибку о невозможности использования.

Не совсем понимаю, почему на клиенте сохраняется правильно, а на сервере нет
18 Garykom
 
гуру
10.10.25
15:41
Вероятно некто путает сервер 1С, RDP сервер и клиента 1С
19 Garykom
 
гуру
10.10.25
15:42
Хрена с два простого юзера (на большее не тянем по ветке) пустят непосредственно на сам сервер 1С, там вручную нечто делать
20 Garykom
 
гуру
10.10.25
15:44
Самая ржака бывает когда некто (с уровнем юзера) полиграфический макет сваяет в Corel Draw
Красивый такой с кучей уникальных шрифтов
И пришлет его в издательство/печать без этих шрифтов и без векторизации текста

Или еще хуже пришлют с векторизацией а потом просят "поправить текст" - муахаха
21 maxab72
 
10.10.25
15:44
(13) уже упоминалось, что "При выводе в формат PDF шрифты, которые нельзя внедрять, а также шрифты, не являющиеся TrueType или OpenType, будут заменены на шрифт Arial." это справка из 1С. Т.е. средствами 1С такие шрифты в документ не внедрить. Поэтому надо использовать что-то стороннее, умеющее насильно загонять шрифты в пдф.
22 Garykom
 
гуру
10.10.25
15:49
(21) любой шрифт можно перевести в нужный формат и сделать внедряемым
только повозиться придется да
есть специальные редакторы/конвертеры шрифтов

или что намного проще перестать вые..выделываться
и заменить в макетах 1С шрифты на распространенные, которые точно есть на сервере 1С
23 maxab72
 
10.10.25
16:03
(22) возиться со шрифтами... а если они авторские, разработаны студией Лебедева для кассовых чеков за 500 тыщ мульёнов тугриков? И переделывать макет после того как над ним поработал сам Лебедев тоже не комильфо как-то...
24 Garykom
 
гуру
10.10.25
16:48
(23) На практике мы тупо заходили в https://myskotom.ru/ или аналогичный сервис
Подбирали наиболее подходящий/похожий шрифт под авторский макет и юзали его
25 Garykom
 
гуру
10.10.25
16:52
(24)+ Это если для малых тиражей аля рекламных плакатов
Макеты из 1С - лучше не выделываться и юзать распространенные шрифты, которые есть по умолчанию во всех операционных системах

А то может получиться что в PDF документа присланный контрагенту тупо все поедет или будут крякозябры
Основная теорема систематики: Новые системы плодят новые проблемы.