フォームの作成
では、さっそくプログラムを作成しましょう。
今回は、LEADTOOLS 16.5JのPDF Write Plug-Inを使用します。作成するのは、「ファイルを開くダイアログ」でJPEG画像を選択し、閲覧用パスワードと保存するPDFファイル名を入力してボタンを押すと、閲覧パスワード機能とコピー/印刷/編集を禁止する制限をかけたPDFファイルに変換する、というプログラムです。
GUIのデザイン
フォームには、これらの機能を実装するために、RasterImageViewerコントロールを1つと、Button・Label・TextBoxコントロールを2つ配置します。また、OpenFileDialogコントロールを1つ配置します。
TextBoxコントロールは、パスワード入力用はMaxLengthプロパティを「16」に設定し、PDFファイル名入力用はTextプロパティに「sample-1.pdf」と入力しておきます。
PDF変換処理
では、実際に画像をPDF化する処理を作成していきましょう。この処理は、フォームに配置した2つのButtonコントロールのClickイベントハンドラで行います。
画像ファイルを開く処理
最初に、画像ファイルを開く処理を作成します。ここでは、ユーザーにファイルを開くダイアログを使って、PDF化したいJPEG画像を選んでもらいます。
選択された画像は、RasterCodecsクラスのLoadメソッドを使用して、RasterImageViewerコントロールのImageプロパティに設定し表示します。Loadメソッドはオーバーロードメソッドですが、引数にファイル名を指定するだけのメソッドを使用します。
Load(String)
-
パラメータ
-
fileName
ロードする画像ファイルの名前を表すString
-
fileName
Imports Leadtools Imports Leadtools.Codecs Imports Leadtools.WinForms Public Class Form1 Private codecs As RasterCodecs Private fname As String = "" Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load ' 入出力ライブラリの起動に必要なデータを初期化 RasterCodecs.Startup() End Sub Private Sub open_image_btn_Click(sender As System.Object, e As System.EventArgs) Handles open_image_btn.Click ' RasterCodecsオブジェクトを初期化 codecs = New RasterCodecs() 'ファイルを開くダイアログを表示 OpenFileDialog1.Filter = "画像ファイル(jpeg)| *.jpg " OpenFileDialog1.FileName = "*.jpg" OpenFileDialog1.InitialDirectory = "c:\pdf" '開く画像ファイル名を取得 If OpenFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then fname = OpenFileDialog1.FileName ' 選択した画像をビューワにロード RasterImageViewer1.Image = codecs.Load(fname) RasterImageViewer1.SizeMode = RasterPaintSizeMode.Fit Else MessageBox.Show("PDF作成の画像を選んでください", "画像の選択", MessageBoxButtons.OK, MessageBoxIcon.Error) End If End Sub
using Leadtools; using Leadtools.Codecs; using Leadtools.WinForms; namespace Lead_PDF_cs { public partial class Form1 : Form { private RasterCodecs codecs; private String fname = ""; public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { // 入出力ライブラリの起動に必要なデータを初期化 RasterCodecs.Startup(); } private void open_image_btn_Click(object sender, EventArgs e) { // RasterCodecsオブジェクトを初期化 codecs = new RasterCodecs(); //ファイルを開くダイアログを表示 openFileDialog1.Filter = "画像ファイル(jpeg)| *.jpg "; openFileDialog1.FileName = "*.jpg"; openFileDialog1.InitialDirectory = @"c:\pdf\"; //開く画像ファイル名を取得 if(openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK) { fname = openFileDialog1.FileName; // 画像をビューワにロードします。 rasterImageViewer1.Image = codecs.Load(fname); rasterImageViewer1.SizeMode = RasterPaintSizeMode.Fit; }else { MessageBox.Show("PDF作成の画像を選んでください", "画像の選択", MessageBoxButtons.OK, MessageBoxIcon.Error); } }