DioDocs for PDF
印刷
機能 > 印刷

PDFドキュメントの印刷は、基本的かつ最もよく使われる機能の1つです。ほとんどの場合、印刷はPDFのビューワにてサポートされています。つまり、ビューワでPDFドキュメントを開き、ビューワ自体からドキュメントを印刷できます。ただ、場合によっては、ビューワを使わずに直接印刷したいこともあります。macOSやLinuxの場合、OSに印刷機能が組み込まれており、コマンドラインを使用するだけで印刷することができます。しかし、Windowsの場合、そのような組み込み機能はありません。そこで、Direct2D技術を使って、ビューワを使わずに印刷するサンプルを作成しました。

Windows OSでの印刷

Windowsにて、DioDocs for PDFを使用してドキュメントを直接印刷するには、サンプル「Direct2Dを使用してWindowsでPDFを印刷する」を参照してください。このサンプルは、GrapeCity.Documents.Imaging.WindowsパッケージにあるGcD2DBitmapクラスとGcD2DGraphicsクラスで作成されています。

このサンプルには、以下のようなドキュメントの印刷と印刷設定の実装に必要なユーティリティがあります。アプリケーションでそのまま使用できます。

上記のデモサンプルは、単一ページを持つPDFを作成して返すように設計されています。生成されたPDFをローカルプリンタで印刷するための実際のコードは、以下のコードに示すように、false条件でブロックされています。

C#
コードのコピー
public void CreatePDF(Stream stream)
{
    GcPdfDocument doc = new GcPdfDocument();

    Common.Util.AddNote(
        "This sample uses Direct2D to implement direct printing on Windows. ",
        doc.NewPage());

    // WindowsでPDFを印刷するには、このブロックを含めます
    if (false)
    {
        GcPdfPrintManager pm = new GcPdfPrintManager();
        pm.Doc = doc;
        pm.PrinterSettings = new PrinterSettings();
        // デフォルト値を使用しない場合は、プリンタ名やその他の設定を設定します
        // pm.PrinterSettings.PrinterName = "my printer";
        pm.PageScaling = PageScaling.FitToPrintableArea;
        pm.Print();
    }

    // PDFを保存します
    doc.Save(stream);
}

PDFを印刷するには、デモサンプルをダウンロードし、ソースを編集してfalse条件を削除し、GcPdfPrintManager.Print()メソッドを呼び出す必要があります。また、必要に応じてGcPdfPrintManagerプロパティとPrinterSettingsプロパティを設定することができます。

LinuxおよびmacOSで印刷

LinuxでPDFドキュメントを印刷するには、次のコマンドラインを使用します。

Linux
コードのコピー
lp filename.pdf

macOSでPDFドキュメントを印刷するには、次のコマンドラインを使用します。

macOS
コードのコピー
lp filename.pdf

または

macOS
コードのコピー
#! /bin/bash
cd /path/to/your/PDFfiles
for pdffile in *.pdf;
lpr -P MY_PRINTER -o media=A4 -o sides=two-sided-long-edge -o InputSlot=tray-3 "$pdffile";
done