Hallo,
ich benötige noch etwas Hilfe...
Habe es jetzt stundenlang probiert, gegoogled, ...
Ich bekomme es einfach nicht hin...
Ich würde gerne mit dem PDF Creator aus Dateien PDFs per Skript erstellen - u.a. aus mehreren Dateien 1 PDF erstellen.
Aus einer Datei 1 PDF erstellen habe ich hinbekommen (Zeile(59-62)).
Mit dem Erstellen von 1 PDF aus mehreren Dateien habe ich Schwierigkeiten.
In Zeile 68 muss ich folgenden String erzeugen:
Unter p.StartInfo.Arguments liegt aber vor:
Ich bekomme es einfach nicht hin in dem String Anführungszeichen darzustellen - in Zeile 61 habe ich es geschafft...
Ich bitte um Hilfe...
ich benötige noch etwas Hilfe...
Habe es jetzt stundenlang probiert, gegoogled, ...
Ich bekomme es einfach nicht hin...
Ich würde gerne mit dem PDF Creator aus Dateien PDFs per Skript erstellen - u.a. aus mehreren Dateien 1 PDF erstellen.
Aus einer Datei 1 PDF erstellen habe ich hinbekommen (Zeile(59-62)).
Mit dem Erstellen von 1 PDF aus mehreren Dateien habe ich Schwierigkeiten.
In Zeile 68 muss ich folgenden String erzeugen:
Unter p.StartInfo.Arguments liegt aber vor:
Ich bekomme es einfach nicht hin in dem String Anführungszeichen darzustellen - in Zeile 61 habe ich es geschafft...
Ich bitte um Hilfe...
VB.NET-Quellcode
-
- Imports System.Runtime.InteropServices
- Imports System.IO
- Public Class Form1
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
- Dim i As Integer = 0, k As Integer = 0, pdfName As String, ext(6) As String, ListeMerged As String, d As Integer = 0
- Dim Liste As New List(Of String), anzL As Integer = 0, AnzdateiOkay As Integer = 0, anzDateien As Integer = 0
- Dim pfadEinlesen As String = "C:\a\"
- Dim pfadFertig As String = "C:\b\"
- Dim ordnereinlesen As New DirectoryInfo(pfadEinlesen)
- 'Dim file As FileInfo
- Dim files = ordnereinlesen.GetFiles()
- Dim p As Process = New Process
- Dim dateiOkay As Boolean = False
- ext(0) = "pdf"
- ext(1) = "doc"
- ext(2) = "txt"
- ext(3) = "xls"
- ext(4) = "jpg"
- ext(5) = "jpeg"
- ext(6) = "tif"
- pdfName = InputBox("Wie soll das pdf heißen?")
- 'Drucker setzen
- SetDefaultPrinter("PDFCreator")
- 'Anzahl verwertbarer Dateien zählen, Liste erzeugen
- For Each file In files
- For k = 0 To 6
- If file.Extension.ToLower.Contains(ext(k)) Then
- Liste.Add(file.FullName.ToString())
- anzDateien += 1
- Exit For
- End If
- Next
- Next
- anzL = Liste.Count
- 'Fehler vorhanden?
- For d = 0 To anzL - 1
- dateiOkay = False
- For k = 0 To 6
- If Liste.ElementAt(d).Contains(ext(k)) Then
- 'datei okay
- dateiOkay = True
- Exit For
- End If
- Next
- If dateiOkay = True Then
- AnzdateiOkay += 1
- End If
- Next
- If AnzdateiOkay = anzL Then
- If anzL = 1 Then
- ListeMerged = Liste.ElementAt(0)
- p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
- p.StartInfo.FileName = "C:\Program Files\PDFCreator\pdfcreator-cli.exe"
- p.StartInfo.Arguments = " PrintFile /File=""" & ListeMerged & """ /OutputFile=""" & pfadFertig & pdfName & ".pdf"""
- p.Start()
- End If
- If anzL > 1 Then
- ListeMerged = String.Join(" ", Liste)
- p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
- p.StartInfo.FileName = "C:\Program Files\PDFCreator\pdfcreator-cli.exe"
- p.StartInfo.Arguments = " MergeFiles /OutputFile=" & pfadFertig & pdfName & ".pdf" & " " & ListeMerged
- p.Start()
- End If
- Else
- MessageBox.Show("Mindestens 1 Datei kann nicht konvertiert werden.")
- Exit Sub
- End If
- 'alten Drucker setzen
- SetDefaultPrinter("Canon MX490 series Printer")
- End Sub
- <DllImport("winspool.drv", CharSet:=CharSet.Auto, SetLastError:=True)>
- Public Shared Function SetDefaultPrinter(Name As String) As Boolean
- End Function
- End Class