0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

C#コードを使用してPDFドキュメントの余白を調整する

0
Posted at

PDFの余白とは、コンテンツとページの端の間にある空白領域のことです。通常は、コンパクトな見た目にするために適度または狭い余白を設定します。しかし、余白に会社のロゴやその他の関連情報を配置したい場合は、余白を少し広くする必要があります。本記事では、Spire.PDF for .NETを使用して、C#およびVB.NETで既存のPDFドキュメントの余白を増減する方法を紹介します。

Spire.PDF for .NET をインストールする

まず最初に、Spire.PDF for .NET パッケージに含まれている DLL ファイルを、.NET プロジェクトに参照として追加する必要があります。DLL ファイルは、公式サイトからダウンロードするか、NuGet を使用してインストールすることができます。

PM> Install-Package Spire.PDF

C#、VB.NETでPDFドキュメントの余白を拡大する方法

PDFドキュメントの余白を広げるには、より大きなページサイズを持つ新しいPDFを作成し、その大きなページ上の適切な位置に元のページを描画します。以下は、Spire.PDF for .NET を使用してPDFドキュメントの余白を拡大する手順です。

  • PdfDocument オブジェクトを初期化し、元のPDFドキュメントを読み込みます
  • 別の PdfDocument オブジェクトを作成し、より大きなページサイズの新しいPDFドキュメントを作成します
  • 余白の増加値を設定します
  • 新しいPDFドキュメントのページサイズを計算します
  • 元のドキュメント内の各ページをループし、PdfPageBase.CreateTemplate() メソッドを使用して特定のページに基づくテンプレートを作成します
  • PdfDocument.Pages.Add() メソッドを使用して、新しいPDFドキュメントにページを追加します
  • PdfTemplate.Draw() メソッドを使用して、座標 (0, 0) にテンプレートを描画します
  • PdfDocument.SaveToFile() メソッドを使用して、新しいPDFドキュメントをファイルに保存します

サンプルコードは以下の通りです:

using Spire.Pdf;
using Spire.Pdf.Graphics;
using System.Drawing;

namespace IncreaseMargins
{
    class Program
    {
        static void Main(string[] args)
        {
            // 元のPDFドキュメントを読み込む
            PdfDocument originalPdf = new PdfDocument("C:\\Users\\Administrator\\Desktop\\sample.pdf");

            // 最初のページを取得する
            PdfPageBase firstPage = originalPdf.Pages[0];

            // 新しい PdfDocument オブジェクトを作成する
            PdfDocument newPdf = new PdfDocument();

            // 余白の増加値を設定する
            PdfMargins margins = newPdf.PageSettings.Margins;
            margins.Top = 40;
            margins.Bottom = 40;
            margins.Left = 40;
            margins.Right = 40;

            // 新しいページサイズを計算する
            SizeF sizeF = new SizeF(firstPage.Size.Width + margins.Left + margins.Right, firstPage.Size.Height + margins.Top + margins.Bottom);

            // 元のドキュメント内の各ページをループする
            for (int i = 0; i < originalPdf.Pages.Count; i++)
            {
                // 特定のページに基づいてテンプレートを作成する
                PdfTemplate pdfTemplate = originalPdf.Pages[i].CreateTemplate();

                // 新しいPDFにページを追加する
                PdfPageBase page = newPdf.Pages.Add(sizeF);

                // ページにテンプレートを描画する
                pdfTemplate.Draw(page, 0, 0);
            }

            // 新しいドキュメントを保存する
            newPdf.SaveToFile("IncreaseMargins.pdf", FileFormat.PDF);
        }
    }
}

C#、VB.NETでPDFドキュメントの余白を縮小する方法

PDFの余白を縮小するには、より小さなページサイズを持つ新しいPDFを作成し、その小さいページ上の指定した座標に元のページを描画します。以下は、Spire.PDF for .NET を使用してPDFドキュメントの余白を縮小する手順です。

  • PdfDocument オブジェクトを初期化し、元のPDFドキュメントを読み込みます
  • 別の PdfDocument オブジェクトを作成し、より小さなページサイズの新しいPDFドキュメントを作成します
  • 余白の縮小値を設定します
  • 新しいPDFドキュメントのページサイズを計算します
  • 元のドキュメント内の各ページをループし、PdfPageBase.CreateTemplate() メソッドを使用して特定のページに基づくテンプレートを作成します
  • PdfDocument.Pages.Add() メソッドを使用して、新しいPDFドキュメントにページを追加します
  • PdfTemplate.Draw() メソッドを使用して、指定した座標にテンプレートを描画します
  • PdfDocument.SaveToFile() メソッドを使用して、新しいPDFドキュメントをファイルに保存します

サンプルコードは以下の通りです:

using Spire.Pdf;
using Spire.Pdf.Graphics;
using System.Drawing;

namespace DecreaseMargins
{
    class Program
    {
        static void Main(string[] args)
        {
            // 元のPDFドキュメントを読み込む
            PdfDocument originalPdf = new PdfDocument("C:\\Users\\Administrator\\Desktop\\sample.pdf");

            // 最初のページを取得する
            PdfPageBase firstPage = originalPdf.Pages[0]; 

            // 新しい PdfDocument オブジェクトを作成する
            PdfDocument newPdf = new PdfDocument();

            // 余白の縮小値を設定する
            float left = -20;
            float right = -20;
            float top = -20;
            float bottom = -20;

            // 新しいページサイズを計算する
            SizeF sizeF = new SizeF(firstPage.Size.Width + left + right, firstPage.Size.Height + top + bottom);

            // 元のドキュメント内の各ページをループする
            for (int i = 0; i < originalPdf.Pages.Count; i++)
            {
                // 特定のページに基づいてテンプレートを作成する
                PdfTemplate pdfTemplate = originalPdf.Pages[i].CreateTemplate();

                // 新しいPDFにページを追加する
                PdfPageBase page = newPdf.Pages.Add(sizeF, new PdfMargins(0));

                // ページにテンプレートを描画する
                pdfTemplate.Draw(page, left, top);
            }

            // 新しいドキュメントを保存する
            newPdf.SaveToFile("DecreaseMargins.pdf", FileFormat.PDF);
        }
    }
}

まとめ

以上では、Spire.PDF for .NET を使用して、C# および VB.NET で既存のPDFドキュメントの余白を拡大・縮小する方法を紹介しました。用途に応じて余白を柔軟に調整することで、ドキュメントのレイアウトや見た目をより最適化することができます。ぜひ本記事の内容を参考に、実際のプロジェクトで活用してみてください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?