PrintDocument.Print メソッドとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > PrintDocument.Print メソッドの意味・解説 

PrintDocument.Print メソッド

ドキュメント印刷プロセス開始します

名前空間: System.Drawing.Printing
アセンブリ: System.Drawing (system.drawing.dll 内)
構文構文

例外例外
例外種類条件

InvalidPrinterException

PrinterSettings.PrinterName プロパティ指定されプリンタ存在しません。

解説解説
使用例使用例

コマンド ライン指定したファイル既定プリンタ出力するコード例次に示します

メモメモ

この例では、各行ページ幅内に収まることが必要です。

この例では、System.ComponentModelSystem.Drawing、System.Drawing.Printing、System.IOSystem.Windows.Forms の各名前空間使用します

Public Class PrintingExample
    Private printFont As Font
    Private streamToPrint As StreamReader
    Private Shared filePath As
 String
    
    Public Sub New()
        Printing()
    End Sub    
    
    ' The PrintPage event is raised for each page to be printed.
    Private Sub pd_PrintPage(sender As
 Object, ev As PrintPageEventArgs)
        Dim linesPerPage As Single
 = 0
        Dim yPos As Single
 = 0
        Dim count As Integer
 = 0
        Dim leftMargin As Single
 = ev.MarginBounds.Left
        Dim topMargin As Single
 = ev.MarginBounds.Top
        Dim line As String
 = Nothing
        
        ' Calculate the number of lines per page.
        linesPerPage = ev.MarginBounds.Height / printFont.GetHeight(ev.Graphics)
        
        ' Iterate over the file, printing each line.
        While count < linesPerPage
            line = streamToPrint.ReadLine()
            If line Is Nothing
 Then
                Exit While
            End If
            yPos = topMargin + count * printFont.GetHeight(ev.Graphics)
            ev.Graphics.DrawString(line, printFont, Brushes.Black, leftMargin, _
                yPos, New StringFormat())
            count += 1
        End While
        
        ' If more lines exist, print another page.
        If Not (line Is
 Nothing) Then
            ev.HasMorePages = True
        Else
            ev.HasMorePages = False
        End If
    End Sub
     
    ' Print the file.
    Public Sub Printing()
        Try
            streamToPrint = New StreamReader(filePath)
            Try
                printFont = New Font("Arial",
 10)
                Dim pd As New
 PrintDocument()
                AddHandler pd.PrintPage, AddressOf
 pd_PrintPage
                ' Print the document.
                pd.Print()
            Finally
                streamToPrint.Close()
            End Try
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub 'Printing    
    
    ' This is the main entry point for the application.
    Public Shared Sub Main()
        Dim args() As String
 = System.Environment.GetCommandLineArgs()
        Dim sampleName As String
 = args(0)
        If args.Length <> 1 Then
            Console.WriteLine("Usage: " & sampleName
 & " <file path>")
            Return
        End If
        filePath = args(0)
    End Sub
End Class

public class PrintingExample 
{
    private Font printFont;
    private StreamReader streamToPrint;
    static string filePath;


    public PrintingExample() 
    {
        Printing();
    }

    // The PrintPage event is raised for each page to be printed.
    private void pd_PrintPage(object sender,
 PrintPageEventArgs ev) 
    {
        float linesPerPage = 0;
        float yPos =  0;
        int count = 0;
        float leftMargin = ev.MarginBounds.Left;
        float topMargin = ev.MarginBounds.Top;
        String line=null;
            
        // Calculate the number of lines per page.
        linesPerPage = ev.MarginBounds.Height  / 
           printFont.GetHeight(ev.Graphics) ;

        // Iterate over the file, printing each line.
        while (count < linesPerPage && 
           ((line=streamToPrint.ReadLine()) != null)) 
        {
           yPos = topMargin + (count * printFont.GetHeight(ev.Graphics));
           ev.Graphics.DrawString (line, printFont, Brushes.Black, 
              leftMargin, yPos, new StringFormat());
           count++;
        }

        // If more lines exist, print another page.
        if (line != null) 
           ev.HasMorePages = true;
        else 
           ev.HasMorePages = false;
    }

    // Print the file.
    public void Printing()
    {
        try 
        {
           streamToPrint = new StreamReader (filePath);
           try 
           {
              printFont = new Font("Arial", 10);
              PrintDocument pd = new PrintDocument(); 
              pd.PrintPage += new PrintPageEventHandler(pd_PrintPage);
              // Print the document.
              pd.Print();
           } 
           finally 
           {
              streamToPrint.Close() ;
           }
       } 
       catch(Exception ex) 
       { 
           MessageBox.Show(ex.Message);
       }
    }
  
    // This is the main entry point for the application.
    public static void Main(string[]
 args) 
    {
       string sampleName = Environment.GetCommandLineArgs()[0];
       if(args.Length != 1)
       {
          Console.WriteLine("Usage: " + sampleName +" <file path>");
          return;
       }
       filePath = args[0];
       new PrintingExample();
    }
}

public ref class PrintingExample
{
private:
   Font^ printFont;
   StreamReader^ streamToPrint;
   static String^ filePath;

public:
   PrintingExample()
   {
      Printing();
   }


private:

   // The PrintPage event is raised for each page to be printed.
   void pd_PrintPage( Object^ /*sender*/, PrintPageEventArgs^
 ev )
   {
      float linesPerPage = 0;
      float yPos = 0;
      int count = 0;
      float leftMargin = (float)ev->MarginBounds.Left;
      float topMargin = (float)ev->MarginBounds.Top;
      String^ line = nullptr;
      
      // Calculate the number of lines per page.
      linesPerPage = ev->MarginBounds.Height / printFont->GetHeight( ev->Graphics
 );
      
      // Iterate over the file, printing each line.
      while ( count < linesPerPage && ((line = streamToPrint->ReadLine())
 != nullptr) )
      {
         yPos = topMargin + (count * printFont->GetHeight( ev->Graphics ));
         ev->Graphics->DrawString( line, printFont, Brushes::Black, leftMargin,
 yPos, gcnew StringFormat );
         count++;
      }

      
      // If more lines exist, print another page.
      if ( line != nullptr )
            ev->HasMorePages = true;
      else
            ev->HasMorePages = false;
   }


public:

   // Print the file.
   void Printing()
   {
      try
      {
         streamToPrint = gcnew StreamReader( filePath );
         try
         {
            printFont = gcnew Font( "Arial",10 );
            PrintDocument^ pd = gcnew PrintDocument;
            pd->PrintPage += gcnew PrintPageEventHandler( this,
 &PrintingExample::pd_PrintPage );
            
            // Print the document.
            pd->Print();
         }
         finally
         {
            streamToPrint->Close();
         }

      }
      catch ( Exception^ ex ) 
      {
         MessageBox::Show( ex->Message );
      }

   }

   static void Main()
   {
      array<String^>^args = Environment::GetCommandLineArgs();
      String^ sampleName = args[ 0 ];
      if ( args->Length != 2 )
      {
         Console::WriteLine( "Usage: {0} <file path>", sampleName
 );
         return;
      }

      filePath = args[ 1 ];
      gcnew PrintingExample;
   }

};

int main()
{
   PrintingExample::Main();
}

public class PrintingExample
{
    private Font printFont;
    private StreamReader streamToPrint;
    private static String filePath;

    public PrintingExample()
    {
        Printing();
    } //PrintingExample

    // The PrintPage event is raised for each page to be printed.
    private void pd_PrintPage(Object sender,
 PrintPageEventArgs ev)
    {
        float linesPerPage = 0;
        float yPos = 0;
        int count = 0;
        float leftMargin = ev.get_MarginBounds().get_Left();
        float topMargin = ev.get_MarginBounds().get_Top();
        String line = null;

        // Calculate the number of lines per page.
        linesPerPage = ev.get_MarginBounds().get_Height() / 
            printFont.GetHeight(ev.get_Graphics());

        // Iterate over the file, printing each line.
        while ((count < linesPerPage && 
            (line = streamToPrint.ReadLine()) != null)) {
            yPos = topMargin + count * printFont.GetHeight(ev.get_Graphics());
            ev.get_Graphics().DrawString(line, printFont, Brushes.get_Black(),
                leftMargin, yPos, new StringFormat());
            count++;
        }

        // If more lines exist, print another page.
        if (line != null) {
            ev.set_HasMorePages(true);
        }
        else {
            ev.set_HasMorePages(false);
        }
    } //pd_PrintPage
    
    // Print the file.
    public void Printing()
    {
        try {
            streamToPrint = new StreamReader(filePath);
            try {
                printFont = new Font("Arial", 10);
                PrintDocument pd = new PrintDocument();
                pd.add_PrintPage(new PrintPageEventHandler(pd_PrintPage));

                // Print the document.
                pd.Print();
            }
            finally {
                streamToPrint.Close();
            }
        }
        catch (System.Exception ex) {
            MessageBox.Show(ex.get_Message());
        }
    } //Printing

    // This is the main entry point for the application.
    public static void main(String[]
 args)
    {
        String sampleName = Environment.GetCommandLineArgs()[0];
        if (args.length != 1) {
            Console.WriteLine(("Usage: " + sampleName + " <file
 path>"));
            return;
        }
        filePath = args[0];
        new PrintingExample();
    } //main
} //PrintingExample
.NET Framework のセキュリティ.NET Frameworkセキュリティ
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
PrintDocument クラス
PrintDocument メンバ
System.Drawing.Printing 名前空間



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「PrintDocument.Print メソッド」の関連用語

PrintDocument.Print メソッドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



PrintDocument.Print メソッドのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS