チュートリアル

簡単にライブラリーを使用するためのチュートリアルコレクション

チュートリアル»Java»Spire.Doc for Java»印刷»Java:Word 文書を印刷する方法(5つの実用例)
2024-06-03

Java:Word 文書を印刷する方法(5つの実用例)

Word 文書の印刷は、文書管理の基本的な側面であり、デジタルファイルを目に見える物理的なコピーに変換することができます。参照用、配布用、保存用など、どのような目的でハードコピーを作成する必要がある場合でも、Word 文書を印刷する能力は、さまざまな仕事や個人的な場面で役立つ貴重なスキルです。

この記事では、Spire.Doc for Java ライブラリと java.awt.print パッケージを使用して、Java で Word 文書を印刷する方法を説明します。

Spire.Doc for Java をインストールします

まず、Spire.Doc for Java を Java プロジェクトに追加する必要があります。JAR ファイルは、このリンクからダウンロードできます。Maven を使用する場合は、次のコードをプロジェクトの pom.xml ファイルに追加する必要があります。

<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.doc</artifactId>
        <version>12.5.1</version>
    </dependency>
</dependencies>

Java で Word 文書をデフォルトのプリンターで印刷する

Word ドキュメントをデフォルトのプリンターで印刷するのは、便利で簡単な方法です。この方法は、特定のプリンター設定が不要な場合や、プリンターに設定されているデフォルト設定を利用したい場合など、通常の印刷作業に適していることが多い。

以下は、Spire.Doc for Java と java.awt.print.PrinterJob オブジェクトを使用して、デフォルトプリンタで Word ドキュメントを印刷する手順です。

  • PrinterJob オブジェクトを作成し、その下のメソッドを呼び出して印刷ジョブを設定します。
  • Document オブジェクトを作成し、Document.LoadFromFile() メソッドを使用して Word ドキュメントを読み込みます。
  • PrinterJob.setPrintable() メソッドを使用して、指定されたフォーマットでドキュメントの各ページをレンダリングします。
  • PrinterJob.print() メソッドを呼び出して Word ドキュメントを印刷します。
  • Java
import com.spire.doc.Document;

import java.awt.print.PageFormat;
import java.awt.print.Paper;
import java.awt.print.PrinterException;
import java.awt.print.PrinterJob;

public class PrintWithDefaultPrinter {

    public static void main(String[] args) {

        // ドキュメントオブジェクトを作成する
        Document document = new Document();

        // Wordファイルをロードする
        document.loadFromFile("サンプル.docx");

        // PrinterJobオブジェクトを作成する
        PrinterJob printerJob = PrinterJob.getPrinterJob();

        // PageFormatオブジェクトを作成し、デフォルトのサイズと向きに設定する
        PageFormat pageFormat = printerJob.defaultPage();

        // このPageFormatに関連付けられたPaperオブジェクトのコピーを返す
        Paper paper = pageFormat.getPaper();

        // このPaperの印刷可能な領域を設定する
        paper.setImageableArea(0, 0, pageFormat.getWidth(), pageFormat.getHeight());

        // 印刷するコピーの数を設定する
        printerJob.setCopies(1);

        // このPageFormatに対するPaperオブジェクトを設定する
        pageFormat.setPaper(paper);

        // 指定されたフォーマットでページをレンダリングするためのペインターを呼び出す
        printerJob.setPrintable(document, pageFormat);

        // ドキュメントを印刷する
        try {
            printerJob.print();
        } catch (PrinterException e) {
            e.printStackTrace();
        }
    }
}

Java で指定したプリンターで Word 文書を印刷する

Java を使用して指定されたプリンターで Word ドキュメントを印刷すると、印刷タスクを処理する特定のプリンターを選択できます。この方法は、利用可能なプリンタが複数あり、特定のプリンターに印刷出力を指示したい場合に便利です。

以下は、Spire.Doc for Java と java.awt.print.PrinterJob オブジェクトを使用して、指定されたプリンタで Word ドキュメントを印刷する手順です。

  • PrinterJob オブジェクトを作成し、その下のメソッドを呼び出して印刷ジョブをセットアップします。
  • カスタムメソッド findPrintService() を使用して、プリンター名で印刷サービスを見つけます。
  • PrinterJob.setPrintService() メソッドを使用して印刷サービスを適用します。
  • Document オブジェクトを作成し、Document.LoadFromFile() メソッドを使用して Word ドキュメントを読み込みます。
  • PrinterJob.setPrintable() メソッドを使用して、指定されたフォーマットでドキュメントの各ページをレンダリングします。
  • PrinterJob.print() メソッドを呼び出して、Word ドキュメントを印刷します。
  • Java
import com.spire.doc.Document;

import javax.print.PrintService;
import java.awt.print.PageFormat;
import java.awt.print.Paper;
import java.awt.print.PrinterException;
import java.awt.print.PrinterJob;

public class PrintWithSpecifiedPrinter {

    public static void main(String[] args) throws PrinterException {

        // デフォルトのプリンターに関連付けられたPrinterJobオブジェクトを作成する
        PrinterJob printerJob = PrinterJob.getPrinterJob();

        // プリンター名を指定する
        PrintService myPrintService = findPrintService("\\\\192.168.1.104\\HP LaserJet P1007");
        printerJob.setPrintService(myPrintService);

        // PageFormatインスタンスを作成し、デフォルトのサイズと向きに設定する
        PageFormat pageFormat = printerJob.defaultPage();

        // このPageFormatに関連付けられたPaperオブジェクトのコピーを返す
        Paper paper = pageFormat.getPaper();

        // このPaperの印刷可能な領域を設定する
        paper.setImageableArea(0, 0, pageFormat.getWidth(), pageFormat.getHeight());

        // このPageFormatに対するPaperオブジェクトを設定する
        pageFormat.setPaper(paper);

        // ドキュメントオブジェクトを作成する
        Document document = new Document();

        // Wordファイルをロードする
        document.loadFromFile("サンプル.docx");

        // 指定されたフォーマットでページをレンダリングするためのペインターを呼び出す
        printerJob.setPrintable(document, pageFormat);

        // ドキュメントを印刷する
        try {
            printerJob.print();
        } catch (PrinterException e) {
            e.printStackTrace();
        }
    }

    // プリンターサービスを検索する
    private static PrintService findPrintService(String printerName) {

        PrintService[] printServices = PrinterJob.lookupPrintServices();
        for (PrintService printService : printServices) {
            if (printService.getName().equals(printerName)) {
                return printService;
            }
        }
        return null;
    }
}

Java で印刷ダイアログボックスを使って Word 文書を印刷する

印刷ダイアログボックスを使用して Word ドキュメントを印刷すると、ユーザーはプロセスを開始する前にプリンタを選択し、印刷設定をカスタマイズすることができます。印刷ダイアログボックスを表示することで、ユーザーに印刷操作の自由度と制御性を提供することができます。

Java で印刷ダイアログボックスを使って Word ドキュメントを印刷するには、以下の手順に従ってください。

  • PrinterJob オブジェクトを作成し、その下で印刷ジョブをセットアップするメソッドを呼び出します。
  • Document オブジェクトを作成し、Document.LoadFromFile() メソッドを使用して Word ドキュメントを読み込みます。
  • PrinterJob.setPrintable() メソッドを使用して、指定されたフォーマットでドキュメントの各ページをレンダリングします。
  • PrinterJob.printDialog() メソッドを呼び出して印刷ダイアログを表示します。
  • PrinterJob.print() メソッドを呼び出して Word ドキュメントを印刷します。
  • Java
import com.spire.doc.Document;

import java.awt.print.PageFormat;
import java.awt.print.Paper;
import java.awt.print.PrinterException;
import java.awt.print.PrinterJob;

public class PrintWithDialogBox {

    public static void main(String[] args) {

        // デフォルトのプリンターに関連付けられたPrinterJobオブジェクトを作成する
        PrinterJob printerJob = PrinterJob.getPrinterJob();

        // PageFormatオブジェクトを作成し、デフォルトのサイズと向きに設定する
        PageFormat pageFormat = printerJob.defaultPage();

        // このPageFormatに関連付けられたPaperオブジェクトのコピーを返す
        Paper paper = pageFormat.getPaper();

        // このPaperの印刷可能な領域を設定する
        paper.setImageableArea(0, 0, pageFormat.getWidth(), pageFormat.getHeight());

        // このPageFormatに対するPaperオブジェクトを設定する
        pageFormat.setPaper(paper);

        // ドキュメントオブジェクトを作成する
        Document document = new Document();

        // Wordファイルをロードする
        document.loadFromFile("サンプル.docx");

        // 指定されたフォーマットでページをレンダリングするためのペインターを呼び出す
        printerJob.setPrintable(document, pageFormat);

        // 印刷ダイアログを表示する
        if (printerJob.printDialog()) {
            try {
                // ドキュメントを印刷する
                printerJob.print();
            } catch (PrinterException e) {
                e.printStackTrace();
            }
        }
    }
}

Java で Word 文書のページ範囲を印刷する

Word ドキュメントの範囲指定印刷は、ドキュメント全体を印刷するのではなく、ドキュメントから特定のページを選択して、そのページのみを印刷できる便利な機能です。これは、長いドキュメントを扱う場合や、特定のセクションだけを印刷する必要がある場合に特に便利です。

Java で Word ドキュメントを印刷する際に印刷範囲を設定する手順は以下の通りです。

  • PrinterJob オブジェクトを作成し、印刷ジョブをセットアップするためにその下のメソッドを呼び出します。
  • Document オブジェクトを作成し、Document.LoadFromFile() メソッドを使用して Word ドキュメントを読み込みます。
  • PrinterJob.setPrintable() メソッドを使用して、指定されたフォーマットでドキュメントの各ページをレンダリングします。
  • PrintRequestAttributeSet オブジェクトを作成し、印刷範囲を属性セットに追加します。
  • ページの範囲を印刷するために PrinterJob.print() メソッドを呼び出します。
  • Java
import com.spire.doc.Document;

import javax.print.attribute.HashPrintRequestAttributeSet;
import javax.print.attribute.PrintRequestAttributeSet;
import javax.print.attribute.standard.PageRanges;
import java.awt.print.PageFormat;
import java.awt.print.Paper;
import java.awt.print.PrinterException;
import java.awt.print.PrinterJob;

public class PrintPageRange {

    public static void main(String[] args) {

        // ドキュメントオブジェクトを作成する
        Document document = new Document();

        // Wordファイルをロードする
        document.loadFromFile("サンプル.docx");

        // PrinterJobオブジェクトを作成する
        PrinterJob printerJob = PrinterJob.getPrinterJob();

        // PageFormatオブジェクトを作成し、デフォルトのサイズと向きに設定する
        PageFormat pageFormat = printerJob.defaultPage();

        // このPageFormatに関連付けられたPaperオブジェクトのコピーを返す
        Paper paper = pageFormat.getPaper();

        // このPaperの印刷可能な領域を設定する
        paper.setImageableArea(0, 0, pageFormat.getWidth(), pageFormat.getHeight());

        // コピーの数を設定する
        printerJob.setCopies(1);

        // このPageFormatに対するPaperオブジェクトを設定する
        pageFormat.setPaper(paper);

        // 指定されたフォーマットでページをレンダリングするためのペインターを呼び出す
        printerJob.setPrintable(document, pageFormat);

        // PrintRequestAttributeSetオブジェクトを作成する
        PrintRequestAttributeSet attributeSet = new HashPrintRequestAttributeSet();

        // 印刷範囲を設定する
        attributeSet.add(new PageRanges(1, 5));

        // ドキュメントを印刷する
        try {
            printerJob.print(attributeSet);
        } catch (PrinterException e) {
            e.printStackTrace();
        }
    }
}

Java で Word 文書を両面モードで印刷する

両面印刷は、両面印刷とも呼ばれ、用紙の両面に自動的に印刷できるため、長いレポートやプレゼンテーション、配布資料などに便利です。

Java で Word ドキュメントを両面モードで印刷する手順は以下の通りです。

  • PrinterJob オブジェクトを作成し、その下のメソッドを呼び出して印刷ジョブをセットアップします。
  • Document オブジェクトを作成し、Document.LoadFromFile() メソッドを使用して Word ドキュメントを読み込みます。
  • PrinterJob.setPrintable() メソッドを使用して、指定されたフォーマットでドキュメントの各ページをレンダリングします。
  • PrintRequestAttributeSet オブジェクトを作成し、両面印刷モードを属性セットに追加します。
  • PrinterJob.print() メソッドを呼び出して Word ドキュメントを印刷します。
  • Java
import com.spire.doc.Document;

import javax.print.attribute.HashPrintRequestAttributeSet;
import javax.print.attribute.PrintRequestAttributeSet;
import javax.print.attribute.standard.Sides;
import java.awt.print.PageFormat;
import java.awt.print.Paper;
import java.awt.print.PrinterException;
import java.awt.print.PrinterJob;

public class PrintInDuplexMode {

    public static void main(String[] args) {

        // ドキュメントオブジェクトを作成する
        Document document = new Document();

        // Wordファイルをロードする
        document.loadFromFile("サンプル.docx");

        // デフォルトのプリンターに関連付けられたPrinterJobオブジェクトを作成する
        PrinterJob printerJob = PrinterJob.getPrinterJob();

        // PageFormatオブジェクトを作成し、デフォルトのサイズと向きに設定する
        PageFormat pageFormat = printerJob.defaultPage();

        // このPageFormatに関連付けられたPaperオブジェクトのコピーを返す
        Paper paper = pageFormat.getPaper();

        // このPaperの印刷可能な領域を設定する
        paper.setImageableArea(0, 0, pageFormat.getWidth(), pageFormat.getHeight());

        // このPageFormatに対するPaperオブジェクトを設定する
        pageFormat.setPaper(paper);

        // 指定されたフォーマットでページをレンダリングするためのペインターを呼び出す
        printerJob.setPrintable(document, pageFormat);

        // PrintRequestAttributeSetオブジェクトを作成する
        PrintRequestAttributeSet attributeSet = new HashPrintRequestAttributeSet();

        // デュプレックス印刷モードを有効にする
        attributeSet.add(Sides.TWO_SIDED_SHORT_EDGE);

        // ドキュメントを印刷する
        try {
            printerJob.print(attributeSet);
        } catch (PrinterException e) {
            e.printStackTrace();
        }
    }
}

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Read 383 times