スキャナの ADF でイメージを取り込み、取り込んだイメージを連続して PDF に保存します。

コード例

ADF でスキャンしたイメージを連続して保存します。
※この例では最小限のコード例のみ記載しております。その他のスキャン関連の様々な設定などにつきましてはリファレンスやサンプルをご参照ください。

[Visual Basic.NET]

'※(1) ADF でスキャンしたイメージを1つのPDF ファイルに連続してページを追加して保存する場合

'Button1 のクリックでスキャン実行
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    'UI を非表示にし、取り込み装置をADF 片面にする
    ImageKit1.Scan.UserInterface = Newtone.ImageKit.ScanUserInterface.Suppress
    ImageKit1.Scan.Mode = Newtone.ImageKit.ScanMode.ADFOneSide
    '保存する PDF ファイル名
    ImageKit1.File.Pdf.SaveFileName = "scanned_image.pdf"

    '用紙の向き
    ImageKit1.File.Pdf.Landscape = False
    '用紙サイズ
    ImageKit1.File.Pdf.DocumentSize = "a4"

    ImageKit1.File.Pdf.Start()

    Dim ret As Boolean = ImageKit1.Scan.Execute()
    If Not ret Then
        MessageBox.Show("スキャンに失敗しました。 ErrorStauts = " + ImageKit1.ErrorStatus.ToString())
    End If

    ImageKit1.File.Pdf.End()
End Sub

'ImageKitコントロールの AfterScan イベントで、取り込んだイメージをページを追加して保存する
Private Sub ImageKit1_AfterScan(ByVal sender As Object, ByVal e As Newtone.ImageKit.AfterScanEventArgs) Handles ImageKit1.AfterScan
    ImageKit1.Image = e.Bitmap1

    'スキャンしたデータはBMP形式でサイズが大きいので、PDF 保存用に JPEG のRawData に変換する
    ImageKit1.File.SaveImageToRawData(Newtone.ImageKit.SaveFileType.SaveJPEG, Nothing)

    ImageKit1.File.Pdf.AddPage()
    'Byte()で保存
    ImageKit1.File.Pdf.AddImage(ImageKit1.File.RawData, 0, 0, ImageKit1.File.Pdf.DocumentWidth, ImageKit1.File.Pdf.DocumentHeight)
    ImageKit1.File.Pdf.EndPage()
End Sub


'※(2) ADF でスキャンしたイメージを別々のPDF ファイルに連続して保存する場合

'Button1 のクリックでスキャン実行
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    'UI を非表示にし、取り込み装置をADF 片面にする
    ImageKit1.Scan.UserInterface = Newtone.ImageKit.ScanUserInterface.Suppress
    ImageKit1.Scan.Mode = Newtone.ImageKit.ScanMode.ADFOneSide

    Dim ret As Boolean = ImageKit1.Scan.Execute()
    If Not ret Then
        MessageBox.Show("スキャンに失敗しました。 ErrorStauts = " + ImageKit1.ErrorStatus.ToString())
    End If
End Sub

'ImageKitコントロールの AfterScan イベントで、取り込んだイメージをページを追加して保存する
Private Sub ImageKit1_AfterScan(ByVal sender As Object, ByVal e As Newtone.ImageKit.AfterScanEventArgs) Handles ImageKit1.AfterScan
    ImageKit1.Image = e.Bitmap1

    '保存する PDF ファイル名(ファイル名の末尾に取り込む順に番号をつける例)
    ImageKit1.File.Pdf.SaveFileName = "scanned_image" + e.ImageNumber.ToString() + ".pdf"
    '用紙の向き
    ImageKit1.File.Pdf.Landscape = False
    '用紙サイズ
    ImageKit1.File.Pdf.DocumentSize = "a4"

    ImageKit1.File.Pdf.Start()
    ImageKit1.File.Pdf.AddPage()
    '取り込んだ画像をペ-ジいっぱいに埋め込む
    ImageKit1.File.Pdf.AddImage(ImageKit1.File.RawData, 0, 0, ImageKit1.File.Pdf.DocumentWidth, ImageKit1.File.Pdf.DocumentHeight)
    ImageKit1.File.Pdf.EndPage()
    ImageKit1.File.Pdf.End()
End Sub

[Visual C#.NET]
//※(1) ADF でスキャンしたイメージを1つのPDF ファイルに連続してページを追加して保存する場合

//Button1 のクリックでスキャン実行
private void button1_Click(object sender, EventArgs e)
{
    //UI を非表示にし、取り込み装置を ADF 片面にする
    ImageKit1.Scan.UserInterface = Newtone.ImageKit.ScanUserInterface.Suppress;
    ImageKit1.Scan.Mode = Newtone.ImageKit.ScanMode.ADFOneSide;

    //保存する PDF ファイル名
    ImageKit1.File.Pdf.SaveFileName = "scanned_image.pdf"

    //用紙の向き
    ImageKit1.File.Pdf.Landscape = False
    //用紙サイズ
    ImageKit1.File.Pdf.DocumentSize = "a4"

    ImageKit1.File.Pdf.Start()

    bool ret = ImageKit1.Scan.Execute();
    if (!ret)
    {
        MessageBox.Show("スキャンに失敗しました。 ErrorStauts = " + ImageKit1.ErrorStatus.ToString());
    }

    ImageKit1.File.Pdf.End();
}

//ImageKitコントロールの AfterScan イベントで、取り込んだイメージをページを追加して保存する
private void imageKit1_AfterScan(object sender, Newtone.ImageKit.AfterScanEventArgs e)
{
    ImageKit1.Image = e.Bitmap1;

    //スキャンしたデータはBMP形式でサイズが大きいので、PDF 保存用に JPEG のRawData に変換する
    ImageKit1.File.SaveImageToRawData(Newtone.ImageKit.SaveFileType.SaveJPEG, null);

    ImageKit1.File.Pdf.AddPage();
    //Byte[]で保存
    ImageKit1.File.Pdf.AddImage(ImageKit1.File.RawData, 0, 0, ImageKit1.File.Pdf.DocumentWidth, ImageKit1.File.Pdf.DocumentHeight);
    ImageKit1.File.Pdf.EndPage();
}


//※(2) ADF でスキャンしたイメージを別々のPDF ファイルに連続して保存する場合

//Button1 のクリックでスキャン実行
private void button1_Click(object sender, EventArgs e)
{
    //UI を非表示にし、取り込み装置をADF 片面にする
    ImageKit1.Scan.UserInterface = Newtone.ImageKit.ScanUserInterface.Suppress;
    ImageKit1.Scan.Mode = Newtone.ImageKit.ScanMode.ADFOneSide;

    bool ret = ImageKit1.Scan.Execute();
    if (!ret)
    {
        MessageBox.Show("スキャンに失敗しました。 ErrorStauts = " + ImageKit1.ErrorStatus.ToString());
    }
}

//ImageKitコントロールの AfterScan イベントで、取り込んだイメージをページを追加して保存する
private void imageKit1_AfterScan(object sender, Newtone.ImageKit.AfterScanEventArgs e)
{
    ImageKit1.Image = e.Bitmap1;

    //保存する PDF ファイル名(ファイル名の末尾に取り込む順に番号をつける例)
    ImageKit1.File.Pdf.SaveFileName = "scanned_image" + e.ImageNumber.ToString() + ".pdf"
    //用紙の向き
    ImageKit1.File.Pdf.Landscape = False
    //用紙サイズ
    ImageKit1.File.Pdf.DocumentSize = "a4"

    ImageKit1.File.Pdf.Start()
    ImageKit1.File.Pdf.AddPage()
    //取り込んだ画像をペ-ジいっぱいに埋め込む
    ImageKit1.File.Pdf.AddImage(ImageKit1.File.RawData, 0, 0, ImageKit1.File.Pdf.DocumentWidth, ImageKit1.File.Pdf.DocumentHeight)
    ImageKit1.File.Pdf.EndPage()
    ImageKit1.File.Pdf.End()
}

◆ 参照プロパティ

ImageKit.Scan.UserInterface
ImageKit.Scan.Mode
ImageKit.File.PDF.SaveFileName
ImageKit.File.PDF.Landscape
ImageKit.File.PDF.DocumentSize

◆ 参照メソッド

ImageKit.Scan.Execute
ImageKit.File.PDF.Start
ImageKit.File.PDF.End
ImageKit.File.PDF.AddPage
ImageKit.File.PDF.AddImage
ImageKit.File.PDF.EndPage

◆ 参照イベント

ImageKit.AfterScan


そのほかのスキャン関連の様々な設定などにつきましては下記のサンプルや
ImageKit.Scan メンバ
をご参照ください。

◆ 参照サンプルプロジェクト

\Examples\WPF\CSharp または VB.NET\3. スキャン機能\Scan_to_PDF