2012-02-28 3 views
1

Я пытаюсь объединить файлы .pdf с VBA. Ничего необычного, буквально приклеивая страницы один за другим. Я сделал множество поисковых запросов в Интернете, но не смог найти решения, которые даже близки к работе. Кто-нибудь делал это раньше? Благодаря!Как объединить файлы .pdf с VBA?

+0

, кстати, вы пытаетесь поставить одну страницу * после * другой или одной страницы * поверх * другой? – yms

+0

@yms: [concatenate] (http://dictionary.reference.com/browse/concatenate), [суперпозиция] (http://dictionary.reference.com/browse/concatenate) –

+0

@jean он также сказал, что «придерживается страницы друг на друга », поэтому я попросил разъяснений. Также, как разработчик продуктов, связанных с pdf, я видел, что все эти термины используются для любого сценария без различия. – yms

ответ

2

Если библиотека GPL является допустимым для вас вариантом, вы можете использовать ghostscript как предлагается in this SO question. Вы можете сделать это, вызвав функцию ShellExecute из Windows API или используя класс WScript.Shell, если вы создаете файл vbscript.

Если есть коммерческая библиотека, я рекомендую Amyuni PDF Creator ActiveX или Amyuni PDF Converter, у обоих есть функция Append, которая будет выполнять эту работу. Код для Amyuni PDF Converter для примера будет выглядеть следующим образом:

Set PDFDoc = CreateObject("CDintfEx.Document.4.5") 
PDFdoc.SetLicenseKey "your company", "your license code" 
PDFDoc.Open "test_append1.pdf" 
PDFDoc.Append "test_append2.pdf" 
PDFDoc.Save "result_append.pdf" 
Set PDFdoc = Nothing 

Обычная оговорка относится к последнему предложению

0

я бегу sedja-консоль и добавить свои PDF в качестве параметров. Довольно легко реализовать. Не забудьте проверить перед запуском Sedja-console, если флаг readonly возможного ранее созданного адресата pdf не настроен на yes, так как нет обратной связи с этим внешним процессом.