2009-07-28 3 views
1

Mit MS Access muss ich eine PDF-Datei öffnen, die letzte Seite der Datei auf die erste verschieben und speichern. Aber der Fehler (siehe unten) kommt mir immer in den Weg. (Ich bin gut mit VBA, aber das ist mein erster Versuch, PDF mit VBA zu manipulieren).So verwenden Sie VBA zum Verschieben einer Seite in einem PDF-Dokument

Hinweis: Ich verwende AcroRd32.DLL

Option Compare Database 
Option Explicit 

    Sub x() 
     Dim PDFdoc As New AcroPDDoc 
     PDFdoc.Open "C:\Reports\MRIR\mrir.pdf" 'activex comp. can't create object 
     PDFdoc.MovePage 0, PDFdoc.GetNumPages 
     PDFdoc.Save 1, "C:\reports\MRIR\Switched.pdf" 
    End Sub 
+0

Haben Sie eine Vollversion von Acrobat oder einfach nur die Leser? Ich glaube, dass Sie die Vollversion benötigen, um dies zu tun. –

+0

Ich habe gerade den Leser, aber AcroRd32.DLL scheint die Funktionalität zu haben. Ich nehme an, ich kann in eine Bibliothek von Drittanbietern gehen, ich versuche nur, es einfach zu halten. – PowerUser

Antwort

0

Dank alle, aber da habe ich Adobe Acrobat auf meinem lokalen Rechner nicht (nur der Leser), Fand ich ein Freeware-Programm von Drittanbietern (PDFTK), das diese Art der grundlegenden Seitenmanipulation über die Befehlszeile ausführen kann.

(großes Lob an David Walker für eine detaillierte Antwort zu geben, auch wenn ich es am Ende nicht nutzen konnte.)

1

Wenn Sie nur das Dokument mit einem Shell-Methode aufrufen, dann werden die folgenden arbeiten nach der folgenden Adobe-Hilfedatei:

http://www.adobe.com/devnet/acrobat/pdfs/PDFOpenParameters.pdf

Wenn ein PDF-Dokument aus einem Kommando-Shell öffnen, können Sie die Parameter an den Öffnungsbefehl übergebenmitdie Option/A die folgenden Syntax:

<path to Acrobat> /A "<open parameter>=OpenActions" "<path to PDF file>" 

Zum Beispiel:

Acrobat.exe /A "page=4=OpenActions" "C:\example.pdf" 
Verwandte Themen