Страница 13 из 15

Сохранение отчета в PDF формате

Добавлено: 11 Апрель 2022, 13:34
kreator
SergioRaguzini писал(а): 10 Апрель 2022, 20:29 Наверное, этот принтер - лучший вариант.
Хороший вариант. Но есть возможность у пользователя удалить его. И не работает на серверных версиях. Некоторые работают по rdp, а там такого варианта нет.

Сохранение отчета в PDF формате

Добавлено: 11 Апрель 2022, 14:05
Игорь Столяров
kreator писал(а): 11 Апрель 2022, 13:34 Но есть возможность у пользователя удалить его.
Это уже не пользователь - а вредитель какой-то ! :(

На самом деле, как человек спросил - так ему и ответили.
По хорошему, конечно, надо проявить эрудицию и посмотреть всех. Например:

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

   Printer{PropPrint:Device} = 'Microsoft Print to PDF'
   If Clip(Upper(Printer{PropPrint:Device})) = Upper('Microsoft Print to PDF') then Loc:OK = True.

   If Loc:OK = False
      Printer{PropPrint:Device} = 'Adobe PDF Printer'
      If Clip(Upper(Printer{PropPrint:Device})) = Upper('Adobe PDF Printer') then Loc:OK = True.
   end

   If Loc:OK = False
      Printer{PropPrint:Device} = 'PDF Printer'
      If Clip(Upper(Printer{PropPrint:Device})) = Upper('PDF Printer') then Loc:OK = True
      else
         Message(' Для экспорта отчёта в PDF установите принтер: Microsoft Print to PDF|' & |
            ' или переименуйте сторонний PDF принтер в: PDF Printer','У нас проблема !',Icon:Exclamation,'&1. Закрыть')      
      end
   end
   
   If Loc:OK = True then И вот тут уже понеслась печать на PDF принтер и т.д. ...

Сохранение отчета в PDF формате

Добавлено: 11 Апрель 2022, 14:14
SergioRaguzini
kreator писал(а): 11 Апрель 2022, 13:34 Некоторые работают по rdp, а там такого варианта нет
Да, на старых версиях Windows Server нет такого, но на более новых - есть (смотрел сейчас у пользователя), но ведь можно использовать при RDP локальный ресурс - нужный нам Microsoft Print to PDF
Игорь Столяров писал(а): 11 Апрель 2022, 14:05 ...На самом деле, как человек спросил - так ему и ответили.
Да, вполне достаточно, идея понятна
Игорь Столяров писал(а): 11 Апрель 2022, 14:05 По хорошему, конечно, надо проявить эрудицию и посмотреть всех....
Разумеется, когда привязываешься к определенному имени принтера, нужно проверять существует ли он на момент печати.

Спасибо

Сохранение отчета в PDF формате

Добавлено: 11 Апрель 2022, 14:15
RaFaeL
Или просто сделать опцию задания наименования PDF принтера, без вот такого хардкода

Сохранение отчета в PDF формате

Добавлено: 11 Апрель 2022, 14:19
Игорь Столяров
RaFaeL писал(а): 11 Апрель 2022, 14:15 без вот такого хардкода
Сейчас это модно называть Искусственный Интеллект ! :)
А тупо ввести название ума много не надо ... ;)

Сохранение отчета в PDF формате

Добавлено: 11 Апрель 2022, 15:47
RaFaeL
"Искусственный интеллект" может проверить типовые имена, а затем, при отсутствии совпадения, предложить выбрать из списка или ввести название. А вот предложению переименовать принтер до искусственного интеллекта очень далеко

Сохранение отчета в PDF формате

Добавлено: 11 Апрель 2022, 15:53
kreator
Игорь Столяров писал(а): 11 Апрель 2022, 14:05 По хорошему, конечно, надо проявить эрудицию и посмотреть всех.
Я так и сделал. Некий ИИ. Лезет в реестр и смотрит принтеры со строчкой "PDF".
SergioRaguzini писал(а): 11 Апрель 2022, 14:14 Да, на старых версиях Windows Server нет такого, но на более новых - есть (смотрел сейчас у пользователя),
Можно поподробнее? Совсем относительно недавно искал. Не было такого.

Сохранение отчета в PDF формате

Добавлено: 11 Апрель 2022, 16:02
Игорь Столяров
RaFaeL писал(а): 11 Апрель 2022, 15:47 А вот предложению переименовать принтер до искусственного интеллекта очень далеко
Не судите строго - этому коду уже почти 20 лет. И всё равно эти вопросы спрашивают ... ;)

Сохранение отчета в PDF формате

Добавлено: 12 Апрель 2022, 10:32
SergioRaguzini
kreator писал(а): 11 Апрель 2022, 15:53 Совсем относительно недавно искал. Не было такого
У пользователя - Windows Server 2012 и работает он по RDP, вчера заходил в его "Принтеры" и видел Microsoft Print to PDF, как будет оказия уточню - этот принтер "родной" или "локальный ресурс" от его Windows 10

Сохранение отчета в PDF формате

Добавлено: 12 Апрель 2022, 15:54
kreator
Попробовал у себя. "Локальный" принтер PDF не перебрасывается по rdp. Хотя аппаратные перебрасываются. И есть у меня подозрение, что от переброски программного принтера нет никакого смысла, работать не будет. Может я и неправ. Не знаю.

Сохранение отчета в PDF формате

Добавлено: 15 Май 2024, 21:34
Игорь Столяров
Интересный эффект после перехода на Windows 10 x64.
После экспорта отчёта на принтер "Microsoft Print to PDF" файл с отчётом в PDF не существует какое-то время,
видимо производится его дозапись в фоне. Т.е. низя его сразу открыть на просмотр.
Под Windows 10 x32 ничего подобного не наблюдалось. :(

Пришлось вспомнить былое и сделать вставку:

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

  !If Exists(wFile_) then Loc:OKSave = True.
  
   If Exists(wFile_) then Loc:OKSave = True
   else
      Loop 10 times
         Yield; Yield; Yield; Yield; Yield;
         Win::Sleep(500)  ! Ждёмс 0.5 сек.
         If Exists(wFile_) then Loc:OKSave = True; Break.
      end
   end
Проблема решена, но осадок остался ... :(

Сохранение отчета в PDF формате

Добавлено: 15 Май 2024, 21:55
kreator
Не замечал такого. Сотни пользователей, никто не жаловался. Подозреваю, что проблема конкретной Винды. А чего новой библиотекой не пользуетесь?

Сохранение отчета в PDF формате

Добавлено: 15 Май 2024, 22:07
Игорь Столяров
Да проверил на нескольких разных компьютерах - везде одно и тоже ... :(
В заявках за крайний год есть несколько жалоб на эту тему от пользователей.

Но у нас сделан переключатель между "Microsoft Print to PDF" и библиотекой I2PDF.
Поэтому видиимо юзеров просто переключали на I2PDF и тема до меня не доходила.
Библиотекой I2PDF пользуемся, но план Б должен быть всегда и здесь он сработал.

Мы используем для удаления WMF листов отчёта функцию для быстрого удаления файлов:
https://gist.github.com/CarlTBarnes/e5d ... ac9c432202

Похоже, что здесь тот случай, когда слишком быстрое завершение печати - тоже не очень хорошо. :)

Сохранение отчета в PDF формате

Добавлено: 16 Май 2024, 0:12
kreator
Я скорее всего не прав. Мой случай не показатель. Я встроил печать на "Microsoft Print to PDF" в стандартный класс. Видимо там нет проблем. :D

Сохранение отчета в PDF формате

Добавлено: 16 Май 2024, 7:27
finsoftrz
Игорь Столяров писал(а): 15 Май 2024, 22:07 Мы используем для удаления WMF листов отчёта функцию для быстрого удаления файлов:
https://gist.github.com/CarlTBarnes/e5d ... ac9c432202
Видал это, костыли для обхода очередной проблемы в рантайме с11. В с6 все норм.
Кстати, поздравляю с переходом на 64 разрядную ОС. Это важный шаг в оптимизации работы.