Каталог решений - Конвертация файлов .docx в формат pdf средствами COM-объекта MS Word

Конвертация файлов .docx в формат pdf средствами COM-объекта MS Word

Конвертация файлов .docx в формат pdf средствами COM-объекта MS Word

В наличии

Частное решение задачи конвертации docx в pdf средствами COM-объекта MS Word.

Категория:

Описание

PDF/A — это подмножество формата PDF, содержащее ограниченный набор возможностей представления данных. Данный формат является стандартом ISO и предназначен для долгосрочного хранения электронных документов. 

В промышленной разработке все чаще возникает необходимость экспорта файлов различных форматов в PDF/A. И если экспорт табличных документов 1С в этот формат решен вендором (в т.ч. начиная с версии платформы 8.3.16 даже реализована возможность сохранения табличного документа в форматы PDF/A-2 и PDF/A-3   для системного перечисления ТипФайлаТабличногоДокумента реализованы значения PDF_A_2 и PDF_A_3),  то с конвертацией файлов других форматов, в частности .docx, есть вопросы.

В статье описан частный способ решения этой задачи для Windows окружения, требующий наличия Microsoft Word на сервере 1С.

Способ основан на методе ExportAsFixedFormat API Microsoft.Office.Tools.Word

 

   //в переменной ИмяВременногоФайлаDocx на входе файл .docx 

   ИмяВременногоФайлаPDF_A = ПолучитьИмяВременногоФайла(".pdf"); //выходной файл формата pdf/a

   WordApp = Новый COMОбъект("Word.Application");
   DocApp = WordApp.Documents.Add(ИмяВременногоФайлаDocx);
          
   UseISO19005_1 = True; //признак экспорта в формат pdf/a
        
   DocApp.ExportAsFixedFormat(ИмяВременногоФайлаPDF_A, 
                                    17, //wdExportFormatPDF    17
                                    0,     //OpenAfterExport                            
                                    0,     //OptimizeFor1
                                    0,  //Range
                                    0,  //From
                                    0,  //To
                                    0,  //Item
                                    1,  //IncludeDocProps
                                    0,  //KeepIRM
                                    0,  //CreateBookmarks
                                    1,  //DocStructureTags
                                    0,  //BitmapMissingFonts
                                    UseISO19005_1);
        
   WordApp.Application.Quit(); 
   WordApp = Неопределено;
        
        
   УдалитьФайлы(ИмяВременногоФайлаDocx);        
   УдалитьФайлы(ИмяВременногоФайлаPDF_A);      

 

has been added to your cart:
Оформление заказа