NonSoft

画面ハードコピー印刷DLL(VB6/VB.NET/C#.NET)


 ダウンロード

画面のハードコピーを印刷するライブラリ(VB6/VB.NET/C#.NET)とサンプルソース

ダウンロード  画面イメージ  使用例(VB6)  使用例(VB.NET)  使用例(C#.NET) 
====================================================================
【タイトル     】画面ハードコピー印刷DLL(VB6/VB.NET/C#.NET)
【Version      】2.0.0.4
【ファイル     】NonHardCopy.zip
【ファイルの中身  】NonHCopyVb6.dll、NonHCopyNet.dll、ReadMe.txt
【動作確認     】Windows8/Windows7/XP/2000
【必要ソフト    】VB6ランタイム(VB6版)
【必要ソフト    】Microsoft .NET Framework Version 2.0(.NET版)
【ソフト種別    】フリーソフト
【作者/著作権者  】のん
【作者への連絡先  】http://nonsoft.la.coocan.jp/
====================================================================
1.はじめに
  本プログラムをダウンロード頂きまして誠にありがとうございます。
  本プログラムは、画面のハードコピーを印刷するライブラリ(DLL)です。
  画面のハードコピーを簡易帳票として印刷する際にご使用ください。
  サンプルアプリケーションのソースコードを同梱していますので、すぐ
  にご試用頂けると思います。

2.インストール方法/アンインストール方法
  本プログラムはインストール操作が必要ありません。
  アンインストール操作も必要ありませんので、本プログラム一式を削除
  してください。

  NonHCopyVb6.dllを使用する場合はVB6がインストールされている必要が
  あります。NonHCopyNet.dllを使用する場合はMicrosoft .NET Framework
  Version 2.0以上がインストールされている必要があります。

  -------------------------------------------------------------------------------------
  ※VS2010(Microsoft .NET Framework Version 4.0)版は次のURLからダウンロード出来ます。
  VS2010(Microsoft .NET Framework Version 4.0)版のダウンロード
  -------------------------------------------------------------------------------------

3.ご使用方法
  サンプルアプリケーションのソースコードを同梱していますので参考に
  してください。

4.著作権・ライセンス
  本プログラムの全ての著作権は「のん」が所有しています。
  本プログラムを転載する場合は著作権所有者の許可が必要となります。
  (NonSoftの紹介リンクは問題ありませんので宜しくお願いします)
  著作権所有者が許可したサイトでのみダウンロードが可能となります。
  再配布は禁止させて頂きます。商用利用についての制限はありません。

5.免責事項
  本プログラムが原因による損害・問題に対し一切の責任を負いません。
  ご利用者の責任の範囲内でお使いください。

6.作者への問合せについて
  作者への問合せはメールのみとさせて頂きます。問合せ内容によっては
  回答出来ない場合もございますので予めご了承願います。また、作者不
  在時または問い合わせ数が多い場合など、回答に日数がかかる場合がご
  ざいますので予めご了承願います。

<画面イメージ>
画面ハードコピー印刷DLL(VB6/VB.NET/C#.NET)の画面イメージ
<使用例(VB6)>
' ハードコピーオブジェクト
Private objHardCopy As Object

Private Sub Form_Load()
    On Error Resume Next
    
    ' NonHCopyVb6.dllの存在チェック
    ChDir App.Path
    If CreateObject("NonHCopyVb6.HardCopyClass") Is Nothing Then
        If Len(Dir("NonHCopyVb6.dll")) <> 0 Then
            ' NonHCopyVb6.dllのレジストリ登録
            Shell "regsvr32 /s NonHCopyVb6.dll", vbHide
        Else
            ' NonHCopyVb6.dllをSampleAp.exeと同じフォルダに置いてください。
            MsgBox _
            "NonHCopyVb6.dllが見つかりませんでした。" & vbCrLf & vbCrLf & _
            "NonHCopyVb6.dllを" & vbCrLf & "[" & App.Path & "]" & vbCrLf & _
            "に置いてください。"
            End
        End If
    End If
    
    ' ハードコピーオブジェクト生成
    Set objHardCopy = CreateObject("NonHCopyVb6.HardCopyClass")
End Sub

Private Sub Command1_Click()
    ' 通常使うプリンタへのアクティブウィンドウのハードコピー
    objHardCopy.HardCopy True
End Sub

Private Sub Command2_Click()
    ' 用紙方向を横向きに設定
    Printer.Orientation = vbPRORLandscape

    ' 用紙サイズをA4に設定
    Printer.PaperSize = vbPRPSA4
    
    ' 通常使うプリンタへのスクリーン全体のハードコピー
    objHardCopy.HardCopy False, Printer
End Sub

Private Sub Command3_Click()
    
    ' 使用可能なプリンターを検索
    Dim objPrinter As Printer
    For Each objPrinter In Printers
        If objPrinter.DeviceName = "プリンタ名をここに入力" Then
            ' 指定のプリンタがあれば設定
            Set Printer = objPrinter
        End If
    Next
    
    ' 用紙方向を横向きに設定
    Printer.Orientation = vbPRORLandscape

    ' 用紙サイズをA3に設定
    Printer.PaperSize = vbPRPSA3
    
    '指定のプリンタへのスクリーン全体のハードコピー
    ' 余白(左:15ミリ、上:20ミリ、右:25ミリ、下:30ミリ)
    objHardCopy.HardCopy False, Printer, 15, 20, 25, 30
End Sub

<使用例(VB.NET)>
Public Class Form1

    ' ハードコピーオブジェクト
    Dim objHardCopy As New NonHCopyNet.HardCopyClass

    Private Sub Button1_Click( _
        ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        ' 通常使うプリンタへのアクティブウィンドウのハードコピー
        objHardCopy.HardCopy(True)
    End Sub

    Private Sub Button2_Click( _
        ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        ' 用紙方向を横向きに設定
        Dim objPrinter As New Printing.PrintDocument
        objPrinter.DefaultPageSettings.Landscape = True

        ' 用紙サイズをA4に設定
        For Each psz As Printing.PaperSize In objPrinter.PrinterSettings.PaperSizes
            If psz.Kind = Printing.PaperKind.A4 Then
                objPrinter.DefaultPageSettings.PaperSize = psz
                Exit For
            End If
        Next

        ' 通常使うプリンタへのスクリーン全体のハードコピー
        objHardCopy.HardCopy(False, objPrinter)
    End Sub

    Private Sub Button3_Click( _
        ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        ' 印刷するプリンタを指定
        Dim objPrinter As New Printing.PrintDocument
        objPrinter.PrinterSettings.PrinterName = "プリンタ名をここに入力"

        ' 用紙方向を横向きに設定
        objPrinter.DefaultPageSettings.Landscape = True

        ' 用紙サイズをA3に設定
        For Each psz As Printing.PaperSize In objPrinter.PrinterSettings.PaperSizes
            If psz.Kind = Printing.PaperKind.A3 Then
                objPrinter.DefaultPageSettings.PaperSize = psz
                Exit For
            End If
        Next

        '指定のプリンタへのスクリーン全体のハードコピー
        ' 余白(左:15ミリ、上:20ミリ、右:25ミリ、下:30ミリ)
        objHardCopy.HardCopy(False, objPrinter, 15, 20, 25, 30)
    End Sub
End Class

<使用例(C#.NET)>
using System.Drawing.Printing;
public partial class Form1 : Form
{
    // ハードコピーオブジェクト
    NonHCopyNet.HardCopyClass objHardCopy = new NonHCopyNet.HardCopyClass();

    private void Button1_Click(object sender, EventArgs e)
    {
        // 通常使うプリンタへのアクティブウィンドウのハードコピー
        objHardCopy.HardCopy(true);
    }

    private void Button2_Click(object sender, EventArgs e)
    {
        // 用紙方向を横向きに設定
        PrintDocument objPrinter = new PrintDocument();
        objPrinter.DefaultPageSettings.Landscape = true;

        // 用紙サイズをA4に設定
        foreach (PaperSize psz in objPrinter.PrinterSettings.PaperSizes)
        {
            if (psz.Kind == PaperKind.A4)
            {
                objPrinter.DefaultPageSettings.PaperSize = psz;
                break;
            }
        }

        // 通常使うプリンタへのスクリーン全体のハードコピー
        objHardCopy.HardCopy(false, objPrinter);
    }

    private void Button3_Click(object sender, EventArgs e)
    {
        // 印刷するプリンタを指定
        PrintDocument objPrinter = new PrintDocument();
        objPrinter.PrinterSettings.PrinterName = "プリンタ名をここに入力";

        // 用紙方向を横向きに設定
        objPrinter.DefaultPageSettings.Landscape = true;

        // 用紙サイズをA3に設定
        foreach (PaperSize psz in objPrinter.PrinterSettings.PaperSizes)
        {
            if (psz.Kind == PaperKind.A3)
            {
                objPrinter.DefaultPageSettings.PaperSize = psz;
                break;
            }
        }

        // 指定のプリンタへのスクリーン全体のハードコピー
        // 余白(左:15ミリ、上:20ミリ、右:25ミリ、下:30ミリ)
        objHardCopy.HardCopy(false, objPrinter, 15, 20, 25, 30);
    }
}