Предлагаю вашему вниманию Native компоненту для 1С 8.3 для преобразования документа PDF.
Написана на С++ и статически скомпонована с библиотекой pdfium.
Данная компонента не требует регистрации. как com. Достаточно сохранить ее на диск из макета. И подключить средствами 1С.
Функции данной компоненты.
1.
Результат = Компонента.ЗагрузитьPDF(ПутьКФайлу);
Это первое что нужно вызвать.
Возвращаемое значение. Истина если успешно прочитан файл, Ложь если прочитать не удалось.
2.
КоличествоСтраниц = Компонента.КоличествоСтраницВДокументе;
Получает количество страниц в документе PDF.
3.
Для х = 0 по КоличествоСтраниц -1 Цикл
ДвоичныеДанные = Компонента.ПолучитьСтраницу(х);
Получает изображение страницы в формате BMP в виде двоичных данных, далее их можно или сохранить или вставить в макет в виде картинки.
4.
Текст = Компонента.ПолучитьТекстСтраницы(х);
Получает текст страницы, если страница в PDF имеет в своем составе текстовые блоки
Это основные функции, для которых я делал данную компоненту.
Также есть еще функция сохранения страницы в файл.
Компонента.СохранитьКартинку(Номерстраницы,ПолныйПутьКФайлу);
И также можно загрузить изображение( получить двоичные данные)
ДвДанные = Компонента.ЗагрузитьКартинку(ПолныйПутьКФайлу);
Основная идея была именно в получении изображении PDF, чтобы можно было вставить их в Табличный Документ. Так как пакетная печать не умеет работать с PDF.
Ниже как можно вставить изображение в Табличный Документ.
ТабДок = Новый ТабличныйДокумент;
Если Результат Тогда
КоличествоСтраниц = Компонента.КоличествоСтраницВДокументе;
Для х = 0 по КоличествоСтраниц -1 Цикл
ДвоичныеДанные = Компонента.ПолучитьСтраницу(х);
Если ДвоичныеДанные <> Неопределено Тогда
ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
Область = Макет.ПолучитьОбласть("Изображение");
Рисунок = Область.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
Рисунок.Высота = 297;
Рисунок.Ширина = 210;
Рисунок.РазмерКартинки = РазмерКартинки.Пропорционально;
Рисунок.ГраницаСверху = Истина;
Рисунок.ГраницаСнизу = Истина;
Рисунок.ГраницаСправа = Истина;
Рисунок.ГраницаСлева = Истина;
Рисунок.Картинка = Новый Картинка(ДвоичныеДанные);
ТабДок.Вывести(Область);
КонецЕсли;
КонецЦикла;
Также в архиве есть обработка с примером работы с этой компонентой
Компонента есть под win64 и Win86
Тестировалась на платформе 8.3.22. Работать должно в любых конфигурациях, главное, чтобы платформа поддерживала работу с Native компонентами (все что выше 8.3, должно работать).