フォームの作成
では、さっそくプログラムを作成しましょう。
今回は、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);
}
}

