iTextSharpはiTextをC#に移植したオープンソースのライブラリです。
.netアプリケーションでPDF操作が必要な場合、iTextSharpを利用する事で簡単にPDF操作が出来るようになります。
iTextSharpを利用して複数ページで構成されたPDFファイルを複数の単一ページに分解してPDFファイルとして保存するアプリケーションを作ってみました。
[ダウンロードが見つかりません]
iTextSharpを日本語で利用する上で、以下のリファレンスを参照すると非常に勉強になります。
iTextSharp クラスライブラリリファレンス
以下、vb.netのソースコードです。
「ページ向きに合わせてページ追加」のところは、以下のようにする必要がありました。
180度または270度回転したPDFをページ分割したときに、元通りの回転状態が保持されるようになります。
Dim iRotation As Integer = reader.GetPageRotation(i)
Dim pageWidth As Integer = reader.GetPageSizeWithRotation(i).Width
Dim pageHeight As Integer = reader.GetPageSizeWithRotation(i).Height
If iRotation = 0 Then
cb.AddTemplate(page, 1.0F, 0, 0, 1.0F, 0, 0)
ElseIf iRotation = 90 Then
cb.AddTemplate(page, 0, -1.0F, 1.0F, 0, 0, pageHeight)
ElseIf iRotation = 180 Then
cb.AddTemplate(page, -1.0F, 0, 0, -1.0F, pageWidth, pageHeight)
ElseIf iRotation = 270 Then
cb.AddTemplate(page, 0, 1.0F, -1.0F, 0, pageWidth, 0)
End If