|
|||||
2つのPDFファイルを1つのPDFファイルとして結合するサンプルです。 PDF出力ライブラリとしてiText.NET(iText.NET.2005-dll-1.4.6-1.cab)を使用しています。 iText.NETのダウンロードサイト:http://sourceforge.net/projects/itextdotnet/ iText.NETはvjslib.dll(J#.NET)を参照設定して使用します。 iText.NETのiText.dllとJSharpLib.dllを参照設定して使用します。 PDF関係のプログラムを最初から作るより、こちらのPDF結合ツールと連携した方が早いかもしれません。 PDF関係のサンプルソースは他にもあります。 PDFファイルを出力するサンプル(VB.NET) PDFファイルを分割するサンプル(VB.NET) 画像ファイルをPDF変換するサンプル(VB.NET) C#.NET版はこちらです。 PDFファイルを出力するサンプル(C#.NET) PDFファイルを分割するサンプル(C#.NET) PDFファイルを結合するサンプル(C#.NET) 画像ファイルをPDF変換するサンプル(C#.NET) 関連ツールはこちらです。 PDF出力・分割・結合(ツール/ソフト) ★フォームモジュール(Form1.vb) '--PDF結合サンプル--↓↓--PDF結合サンプル--↓↓--PDF結合サンプル--↓↓--PDF結合サンプル-- Imports System.io Imports com.lowagie.text Imports com.lowagie.text.pdf Public Class Form1 ' (注意1)vjslib.dll(J#.NET)を参照設定する必要があります。 ' (注意2)iText.dllを参照設定する必要があります。 ' (注意3)JSharpLib.dllを参照設定する必要があります。 Private Sub Button1_Click( _ ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles Button1.Click ' 出力用PDFオブジェクトの生成 Dim dc As Document = _ New Document(New PdfReader("test1.pdf").getPageSizeWithRotation(1)) ' 出力用PDFファイルのオープン Dim fs1 As FileStream = _ New FileStream("test3.pdf", FileMode.Create, FileAccess.Write) ' 出力用PDFオブジェクトとPDFファイルの関連付け Dim wr1 As PdfWriter = PdfWriter.getInstance(dc, fs1) ' PDF出力開始 dc.open() ' PdfContentByte取得 Dim pcb As PdfContentByte = wr1.getDirectContent() ' 入力用PDFファイル毎の処理 For p As Integer = 1 To 2 ' 入力用PDFファイルのオープン Dim rd As PdfReader = New PdfReader("test" & p & ".pdf") ' 入力用PDFファイルのページ数取得 Dim pn As Integer = rd.getNumberOfPages() ' PDF出力処理 For i As Integer = 1 To pn ' ページサイズ設定 dc.setPageSize(rd.getPageSizeWithRotation(i)) ' 改ページ dc.newPage() ' ページ取得 Dim pip As PdfImportedPage = wr1.getImportedPage(rd, i) ' ページ出力 If rd.getPageRotation(i) = 0 Then ' 回転しない pcb.addTemplate(pip, 1.0F, 0, 0, 1.0F, 0, 0) Else ' 回転する pcb.addTemplate(pip, 0, -1.0F, 1.0F, 0, 0, _ rd.getPageSizeWithRotation(i).height()) End If Next Next ' PDF出力終了 dc.close() End Sub End Class '--PDF結合サンプル--↑↑--PDF結合サンプル--↑↑--PDF結合サンプル--↑↑--PDF結合サンプル-- |