Режет имена в шаблоне экспорта

Ответить
Аватара пользователя
AlexB
Сообщения: 21
Зарегистрирован: 04 дек 2020, 04:51
Имя: Александр
Откуда: Россия, Орёл

Режет имена в шаблоне экспорта

Сообщение AlexB »

При скачивании документа на экспорт в pdf обрезается первое слово, при скачивании docx все нормально, скрин для пояснения прилагаю.
йййййййй.jpg
Поправьте пожалуйста.
Аватара пользователя
support
Техническая поддержка
Сообщения: 8978
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Режет имена в шаблоне экспорта

Сообщение support »

Что то я не могу повторить данную проблему. Тестировал и на winodows и на linux серверах.
Аватара пользователя
AlexB
Сообщения: 21
Зарегистрирован: 04 дек 2020, 04:51
Имя: Александр
Откуда: Россия, Орёл

Re: Режет имена в шаблоне экспорта

Сообщение AlexB »

Что то я не могу повторить данную проблему. Тестировал и на winodows и на linux серверах.
Что нужно предоставить мне чтобы вы поняли что делать? phpinfo?

Еще вот что заметил при попытке понять почему обрезается первое слово.
Если в имя файла добавить число или нижнее подчеркивание или английскую букву, то первое слово в наименовании файла pdf не обрезается
Захват-1.jpg
Может быть дело в кодировке при генерации файла pdf? Может надо сделать поддержку многобайтовой кодировки, типа mb_ereg_replace или что там используется в генерации имени файла pdf
Аватара пользователя
support
Техническая поддержка
Сообщения: 8978
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Режет имена в шаблоне экспорта

Сообщение support »

Сделал некоторые изменения для 2.8
Файл дать не могу, так как он уже не совместим с 2.7

По этому, откройте файл modules\items\actions\export_template.php
найдите строчку:

Код: Выделить всё

$dompdf->stream($filename);
Замените ее на:

Код: Выделить всё

	  header('Content-Description: File Transfer');
          header('Content-Type: application/octet-stream');
          header('Content-Disposition: attachment; filename='.$filename . '.pdf');
          header('Content-Transfer-Encoding: binary');
          header('Expires: 0');
          header('Cache-Control: must-revalidate');
          header('Pragma: public');          
          
          flush();
          
          echo $dompdf->output();
Сообщите результат.
Аватара пользователя
AlexB
Сообщения: 21
Зарегистрирован: 04 дек 2020, 04:51
Имя: Александр
Откуда: Россия, Орёл

Re: Режет имена в шаблоне экспорта

Сообщение AlexB »

Не помогло.

Код: Выделить всё


cache-control: private
content-disposition: attachment; filename="_???????_?_8_??_10.12.2020_19:38.pdf"; filename*=UTF-8''_%D0%BA%D0%BB%D0%B8%D0%B5%D0%BD%D1%82%D0%B0_%E2%84%96_8_%D0%BE%D1%82_10.12.2020_19%3A38.pdf
content-length: 882721
content-type: application/pdf
date: Thu, 17 Dec 2020 15:37:48 GMT
expires: Thu, 19 Nov 1981 08:52:00 GMT
pragma: no-cache
server: nginx-reuseport/1.13.4
set-cookie: cookie_test=please_accept_for_session; expires=Sat, 16-Jan-2021 15:37:47 GMT; Max-Age=2592000
status: 200
x-powered-by: PHP/7.4.8

Аватара пользователя
support
Техническая поддержка
Сообщения: 8978
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Режет имена в шаблоне экспорта

Сообщение support »

Кодировка в базе и на сервере должна быть utf8
Аватара пользователя
AlexB
Сообщения: 21
Зарегистрирован: 04 дек 2020, 04:51
Имя: Александр
Откуда: Россия, Орёл

Re: Режет имена в шаблоне экспорта

Сообщение AlexB »

сервер - UTF без BOM
mySQL - utf8_general_ci
Аватара пользователя
AlexB
Сообщения: 21
Зарегистрирован: 04 дек 2020, 04:51
Имя: Александр
Откуда: Россия, Орёл

Re: Режет имена в шаблоне экспорта

Сообщение AlexB »

Все работает. Вопрос решен, спасибо!
Аватара пользователя
support
Техническая поддержка
Сообщения: 8978
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Режет имена в шаблоне экспорта

Сообщение support »

А что было?
Аватара пользователя
AlexB
Сообщения: 21
Зарегистрирован: 04 дек 2020, 04:51
Имя: Александр
Откуда: Россия, Орёл

Re: Режет имена в шаблоне экспорта

Сообщение AlexB »

А что было?
Моя невнимательность :) Правил код в тестовой системе руководителя, а проверял в рабочей. Тестовая на сервере лежит как - crm_mysite.com, а рабочая crm.mysite.com я зашел в тестовую случайно и правил код там, а смотрел на рабочей.

Заголовки в общем помогли.
Ответить