|
Массовая конвертация word в pdf через COM Жеглофф, RomanYS, Garykom, Черников, obs191, Хряк, trooba, evorle145, Сукпун, elka302, Gucci76, nick86, Indian, YFedor, skafandr, takefive, spiller26, ass1c, azt-yur, MAG, Fish, ads55, b_ru, ГдеСобакаЗарыта, RVN, ЕRPe, Александр111, s_trikozin, Prog_man, AntiBuh, DemonShinji2, AlexKimp, Мультук, DrZombi, dva1c, craxx
| ☑ | ||
|---|---|---|---|---|
|
0
zippygrill
26.05.26
✎
14:53
|
Привет
Есть у меня функция конвертирующая из word в pdf через COMОбъект. Нужно прогнать оч больше количество файлов word в pdf и каждый раз создавать com не оч производительно, да и стали всплывать ошибки рода Интерфейс не поддерживается. Вообще возможно открыть один com и конвертировать много файлов? Функция КонвертироватьWord_Pdf(ПутьКФайлуWord) Экспорт FilePDF = ПолучитьИмяВременногоФайла("pdf"); MSWordApp = Новый COMОбъект("Word.Application"); MSWordApp.Visible = False; MSWordApp.Documents.Open(ПутьКФайлуWord); WordDocument = MSWordApp.Application.Documents(1); WordDocument.Activate(); WordDocument.SaveAs(FilePDF, 17); MSWordApp.Application.Quit(); Возврат FilePDF; КонецФункции // КонвертироватьWord_Pdf() |
|||
|
1
Fragster
гуру
26.05.26
✎
15:12
|
куча инструментов командной строки для этого
|
|||
|
2
b_ru
26.05.26
✎
16:07
|
WordDocument.Close() вместо MSWordApp.Quit() и будет тебе счастье. Но действительно зачем, если есть (1)
|
|||
|
3
spiller26
26.05.26
✎
16:10
|
(1) Вот примеры:
Winda: OfficeToPDF — утилита командной строки, которая преобразует документы Microsoft Office в PDF с использованием встроенных функций экспорта Office C:\Users\test> officetopdf.exe somefile.docx somefile.pdf Linux: soffice — команда для вызова LibreOffice soffice --convert-to pdf example.docx |
|||
|
4
Fish
гуру
26.05.26
✎
16:24
|
(0) Это не конвертация, а онанизм какой-то. Есть же куча инструментов для конвертации.
|
|||
|
5
Garykom
гуру
27.05.26
✎
00:43
|
https://github.com/Garykom/gotenberg_msoffice
https://github.com/Garykom/office2pdf изучи и еще https://gotenberg.dev/ свой микросервис на MSOffice (вместо LibreOffice) сделал (первая ссылка) с тем же API, понятно только частичный функционал касательно конвертации на Libre не все документы правильно конвертятся, поэтому в ДО пришлось делать отдельную подсистему конвертации с очередью, распараллеливанием и кучей настроек типа прикрепленные файлы из каких видов внутренних документов через какой сервис конвертации прогонять с учетом еще формата (расширения) исходного файла вторая ссылка просто автоматизация через каталоги на PowerShell |
|||
|
6
DrZombi
гуру
27.05.26
✎
07:00
|
(0) Используйте либра офис.
https://infineconomics.blogspot.com/2016/12/libreoffice.html --convert-to ИмяФильтраВыходногоФайла[:ИмяВыходногоФайла] [--outdir ИмяДиректории] — Пакетная обработка файлов с использованием режима --headless. Если --outdir (директория куда будут писаться файлы) не указан, тогда текущая рабочая директория используется как ИмяДиректории. Если --convert-to используется больше чем один раз, имеет силу последнее значение ИмяФильтраВыходногоФайла[:ИмяВыходногоФайла]. Если --outdir используется больше одного раза, учитывается только последнее значение. Примеры использования: --convert-to pdf *.doc --convert-to pdf:writer_pdf_Export --outdir /home/user *.doc --convert-to "html:XHTML Writer File:UTF8" *.doc --convert-to "txt:Text (encoded):UTF8" *.doc К сожалению, в настоящее время нет простой возможности узнать все возможные значения фильтров. По этому, использование этого флага затруднено, не смотря на его потенциальную пользу. |
|||
|
7
Garykom
гуру
27.05.26
✎
11:18
|
(3) >OfficeToPDF
Если утилита от Cognidox - это так же обертка на C# через COM/OLE поверх MS Office |
|||
|
8
Garykom
гуру
27.05.26
✎
11:22
|
(3)(6) >soffice --convert-to
Конвертация через LibreOffice часто не подходит Ибо кривые файлы pdf получаются Попробуйте например в Word'е сделать документ сложной структуры с разными вставками картинок и текстовых полей отдельными блоками, с частичными перекрытием И конвертировать в pdf через Libre - часто эти блоки обрезаются криво |
|||
|
9
Garykom
гуру
27.05.26
✎
11:23
|
Но в тоже самое время Libre умеет конвертировать в pdf типы/форматы файлов, которые не умеет MS Office
Поэтому приходится оба способа использовать |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |