окон — Как объединить несколько типов файлов в один PDF?
Задавать вопрос
спросил
Изменено 5 лет, 1 месяц назад
Просмотрено 2к раз
Обычно у меня есть несколько документов разных типов (docx, pdf, png, jpg), которые необходимо объединить в один файл PDF. Например, у меня сейчас в каталоге есть следующие файлы:
DeclarationForHearing20180512.docx, ExhibitA.pdf, ExhibitB.png, ExhibitC.jpg, TestimonyWitness1.docx, Evidence212232.pdf и т. д.
Мне нужно объединить их в один файл PDF. Прямо сейчас я захожу в каждый документ Word и экспортирую его в формате PDF. Затем я конвертирую все файлы изображений (png, jpg) в PDF-файлы, распечатывая их на PDF-принтере. Затем я использую PDFSam Basic, чтобы объединить все полученные PDF-файлы в один.
Как вы понимаете, это утомительная процедура. В идеале я хотел бы написать пакетный файл (или аналогичный: powershell или vbs), который перебирает файлы в каталоге, выполняет все необходимые преобразования, а затем объединяется в окончательный документ.
Возможно ли сделать что-то подобное?
- windows
- microsoft-word
- пакетный файл
Я не думаю, что одним нажатием можно выполнить ЗАДАНИЕ. Поэтому я хотел бы предложить решение для нескольких из них.
1. Код VBA для преобразования нескольких файлов Word в папке в отдельные файлы PDF.
Sub convertword() Dim irow As Integer Dim objWord As Word.Application Затемнить новый документ как Word.Document Установите objWord = Новое Word.Application objWord.Visible = Истина ряд = 4 Делать пока Cells(irow, 2) <> Empty Установить newdoc = objWord. Documents.Open(Cells(irow, 2).Value) newdoc.ExportAsFixedFormat OutputFileName:=Cells(irow, 3).Value, _ ЭкспортФормат:=вдЭкспортФорматPDF newdoc.Close (ложь) строка = строка + 1 Петля objWord.Выход Конец сабвуфера
Примечание. Добавьте ссылку на библиотеку объектов Microsoft Word 15.0, а затем попробуйте этот код.
Это поможет вам объединить файлы PDF с VBA.
Dim objCAcroPDDocDestination As Acrobat.CAcroPDDoc Dim objCAcroPDDocSource As Acrobat.CAcroPDDoc Dim i как целое число Dim iFailed как целое число При ошибке Перейти к NoAcrobat: Установить objCAcroPDDocDestination = CreateObject("AcroExch.PDDoc") Установите objCAcroPDDocSource = CreateObject("AcroExch.PDDoc") objCAcroPDDocDestination.Open(arrFiles(LBound(arrFiles))) 'открыть первый файл Для i = LBound(arrFiles) + 1 To UBound(arrFiles) objCAcroPDDocSource.Open (arrFiles(i)) Если objCAcroPDDocDestination.InsertPages(objCAcroPDDocDestination.GetNumPages - 1, objCAcroPDDocSource, 0, objCAcroPDDocSource.GetNumPages, 0) Тогда Объединить PDF-файлы = Истина Еще iНеудачно = iНеудачно + 1 Конец, если objCAcroPDDocSource.Close Далее я objCAcroPDDocDestination.Save 1, strSaveAs 'Сохранить как новое имя objCAcroPDDocDestination.Close Установите objCAcroPDDocSource = Ничего Установите objCAcroPDDocDestination = Ничего НетAcrobat: Если iFailed <> 0 Тогда ОбъединитьPDF = Ложь Конец, если При ошибке Перейти к 0 Конечная функция
Примечание.
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google Зарегистрироваться через Facebook Зарегистрируйтесь, используя адрес электронной почты и парольОпубликовать как гость
Электронная почтаТребуется, но не отображается
Опубликовать как гость
Электронная почтаТребуется, но не отображается
Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания и подтверждаете, что прочитали и поняли нашу политику конфиденциальности и кодекс поведения.