Имя: Пароль:
1C
 
Массовая конвертация word в pdf через COM
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
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.