C#でpdf 印刷DPIを設定する方法

This article was translated from English: Does it need improvement?
Translated
View the article in English

DPI(dots per inch)は印刷解像度を制御します — 印刷機が1インチあたりに配置するインクのドット数です。 DPIが高いと、テキストがシャープになり、画像が滑らかになりますが、処理時間とトナーの使用量が増加します。 DPIが低いと印刷が速くなり、内部ドラフトに適しています。 DPIをプログラム的に設定することで、アプリケーションが要求する品質基準を満たす印刷ジョブを保証し、ユーザーのデフォルトプリンター設定に関係なくなります。

IronPrintは、PrintSettingsクラスでDpiプロパティを公開しています。 整数値に設定し、設定をPrinter.Print()に渡すと、指定された解像度でドキュメントが印刷されます。 デフォルトは300 DPIで、これは商業印刷の標準と一致します。

クイックスタート: 印刷DPIの設定

  1. NuGet経由でIronPrintをインストールしてください: Install-Package IronPrint
  2. ファイルにusing IronPrint;を追加してください
  3. PrintSettingsオブジェクトを作成します
  4. 望む解像度にDpiを設定します (例: 300, 600, 1200)
  5. 設定をPrinter.ShowPrintDialog()に渡します
  1. IronPrint をNuGetパッケージマネージャでインストール

    PM > Install-Package IronPrint
  2. このコード スニペットをコピーして実行します。

    using IronPrint;
    
    // Print a PDF at 600DPIfor high-quality output
    Printer.Print("report.pdf", new PrintSettings
    {
        Dpi = 600
    });
  3. 実際の環境でテストするためにデプロイする

    今日プロジェクトで IronPrint を使い始めましょう無料トライアル

    arrow pointer

C#で印刷DPIを設定するには?

PrintSettingsDpiプロパティは任意の正の整数を受け入れます。 デフォルト値は300で、これは業務文書の標準解像度です。 印刷に使用される実際のDPIは、物理プリンターの機能によって制限される場合があります — 1200 DPIを設定してもプリンターが600までしか対応していない場合、そのプリンターでサポートされる最高解像度を使用します。

:path=/static-assets/print/content-code-examples/how-to/set-the-dpi/set-the-dpi-office-and-high-res-dpi.cs
using IronPrint;

// Standard office quality (300 DPI)
var officeSettings = new PrintSettings
{
    Dpi = 300
};
Printer.Print("invoice.pdf", officeSettings);

// High-resolution output (600 DPI)
var highResSettings = new PrintSettings
{
    Dpi = 600
};
Printer.Print("photo-proof.png", highResSettings);
Imports IronPrint

' Standard office quality (300 DPI)
Dim officeSettings As New PrintSettings With {
    .Dpi = 300
}
Printer.Print("invoice.pdf", officeSettings)

' High-resolution output (600 DPI)
Dim highResSettings As New PrintSettings With {
    .Dpi = 600
}
Printer.Print("photo-proof.png", highResSettings)
$vbLabelText   $csharpLabel

ネイティブ.NETでは、印刷解像度を制御するために、PrintDocumentを作成し、Graphics.DrawImage()でコンテンツを手動でレンダリングする必要があります。 これは15〜25行の定型コードを含みます。 IronPrintはこれを設定オブジェクトの単一の整数プロパティに簡素化します。

pdf 印刷の異なるジョブに対してどのDPIを使用すべきですか?

適切なDPIを選択するには、コンテンツの種類と目的によります。 高解像度は常に良いとは限りません — テキストが多い文書には目に見える利益がないままスプールサイズと印刷時間を増加させます。

DPI 最適 ノート
72–150 内部ドラフト、プルーフ、テスト印刷 高速出力、低トナー消費
300 ビジネス文書、請求書、レポート IronPrintデフォルト; 標準商業品質
600 マーケティング資料、グラフィック、チャート 明らかにシャープな画像と細い線
1200以上 写真、アーカイブ、ファインアート 対応するプリンターが必要; 大きなスプールファイル

ほとんどのアプリケーションで、300 DPIは品質とパフォーマンスのベストバランスを提供します。 デフォルトから始め、画像の明確さや細かい詳細の改善が必要な場合のみ拡大することをお勧めします。

印刷設定とDPIをどのように組み合わせますか?

DPIは他のPrintSettingsプロパティと共に働き、完全な印刷ジョブを定義します。 同じオブジェクト内で用紙サイズ、向き、余白、コピー数、グレースケールモードを設定できます。

:path=/static-assets/print/content-code-examples/how-to/set-the-dpi/set-the-dpi-combine-dpi-with-settings.cs
using IronPrint;

var settings = new PrintSettings
{
    Dpi = 600,
    PaperSize = PaperSize.A4,
    PaperOrientation = PaperOrientation.Landscape,
    PaperMargins = new Margins(10, 10, 10, 10),
    NumberOfCopies = 2,
    Grayscale = true
};

Printer.Print("quarterly-dashboard.pdf", settings);
Imports IronPrint

Dim settings As New PrintSettings With {
    .Dpi = 600,
    .PaperSize = PaperSize.A4,
    .PaperOrientation = PaperOrientation.Landscape,
    .PaperMargins = New Margins(10, 10, 10, 10),
    .NumberOfCopies = 2,
    .Grayscale = True
}

Printer.Print("quarterly-dashboard.pdf", settings)
$vbLabelText   $csharpLabel

600 DPIでGrayscale = trueを設定すると、チャートやデータテーブルに理想的なシャープなモノクロ出力が得られます。 PaperMarginsの値はミリメートル単位です。

印刷ダイアログでユーザーがDPIを調整できるようにするには?

PrintSettingsPrinter.ShowPrintDialog()に渡すと、ダイアログは事前設定されたDPIで開きます。 ユーザーはそれを受け入れることも、印刷前に解像度を調整することもできます。

:path=/static-assets/print/content-code-examples/how-to/set-the-dpi/set-the-dpi-dialog-with-dpi-preset.cs
using IronPrint;

// Pre-select 600 DPI, but let the user override
var settings = new PrintSettings
{
    Dpi = 600,
    PaperSize = PaperSize.Letter
};

Printer.ShowPrintDialog("design-proof.pdf", settings);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

非ブロッキングUIシナリオの場合、Printer.ShowPrintDialogAsync()は同じパラメーターを受け入れ、アプリケーションを応答可能なままにします。ダイアログはユーザーがプリンターの対応解像度とDPIを確認することを可能にします — 600 DPIのオフィスRazorと1200 DPIのフォトプリンターを切り替える際に便利です。 ユーザーインタラクションが不要な完全に自動化されたワークフローの場合、silent printingPrinter.Print()を使用してください。

次のステップ

DPIはPrintSettingsオブジェクトの単一の整数 — 各印刷ジョブの品質要件に合わせて設定してください。 ビジネス文書は300から始め、グラフィックに重きを置いた出力には600以上に増やしてください。

各利用可能なプロパティについてprint settings how-toを、完全なメソッドサーフェスを持つPrinter class API referenceを、すぐに実行可能なスニペットを持つcode examples pageを探ってください。 IronPrint tutorialsは完全な印刷ライフサイクルを案内し、changelogは最近の更新を追跡します。

30日間の無料トライアルを開始して、ライブプロジェクトでDPI設定をテストしてください。 準備ができたら、ライセンスオプションを表示し、749ドルから始めてください。

カーティス・チャウ
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

準備はできましたか?
Nuget ダウンロード 38,930 | バージョン: 2026.4 リリース
Still Scrolling Icon

まだスクロールしていますか?

すぐに証拠が欲しいですか? PM > Install-Package IronPrint
サンプルを実行する プリンターに出力されるドキュメントを見る。