1

無料ライセンス版の Spire PDF を使用しています。私のプログラムには、個々のページを表す 166,ooo の PDF ファイルが含まれています。これらのうち 1 ~ 20 個を同じ名前で 1 つの pdf にマージする必要があります。

PDFFilesとして次のサブに渡される配列に追加されるファイル名の文字列を構築するルーチンがあります。OutputFile は、出力ファイルの名前とそのパスを含む文字列です。

      Private Sub MergePDFs(ByVal PDFFiles As String, ByVal OutPutFile As String)
    Dim files As [String]() = New [String]() {"E:\Ballads of the 20th Century\1st bari #1.pdf", "E:\Ballads of the 20th Century\1st bari #2.pdf"}
    Dim i As Integer
    'open pdf documents            
    Dim docs As PdfDocument() = New PdfDocument(files.Length - 1) {}
    For i = 0 To files.Length - 1
        docs(i) = New PdfDocument(files(i))
    Next

    'append document
    docs(0).AppendPage(docs(1))

    'import PDF pages
    i = 0
    While i < docs(2).Pages.Count
        docs(0).InsertPage(docs(2), i)
        i = i + 2
    End While
End Sub

ソリューション エクスプローラーがあります。ファイルとして Spire.Pdf.dll があります。参考文献には、Spire.Pdf と Spire.Licence があります。

実行時に、タイプ 'System.ArgumentException' の未処理の例外が Spire.Pdf.dll で発生しました追加情報: ファイルが存在しません。

わかりやすくするために、この例では PDFFiles は使用されていません。リストされている 2 つのファイルは、テスト目的でプログラム出力から直接取得されます。

このエラーには簡単な説明が必要ですが、まだ見つかりません。

それを解決するのを手伝ってください。ありがとうグラハム

4

1 に答える 1

1

私はこれに対する答えを自分で見つけました。

実際の問題は、Spire.pdf が文字列を解析して PDF ドキュメントにする方法にありました。ファイル名にスペースを入れてはいけません。そうすれば問題なく動作します。

グラハム

于 2013-09-10T07:52:39.487 に答える