1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

C# はどのように1つのPDFページを2ページまたは複数のページに分割します

Posted at

PDFドキュメントを複数のPDFとして分割するほか、PDFページを2つまたは複数のページに分割することもある。この文章をどのようにして、Cを使用して、1つのPDFページを横と縦に2ページまたは複数のページに分割することを紹介します。

本文はPDFコンポーネントを使用する:Spire.PDF for .NET

元PDFページは以下の通り:
PDF.png

横取り分けPDF

using System.Drawing;
using Spire.Pdf;
using Spire.Pdf.Graphics;
 
namespace SplitPDFPage
{
    class Program
    {
        static void Main(string[] args)
        {
            // PDFドキュメントをロードする
            PdfDocument pdf = new PdfDocument();
            pdf.LoadFromFile("Sample.pdf");
 
            //第1ページを取得
            PdfPageBase page = pdf.Pages[0];
 
            //新しいPDFドキュメントを作成
            PdfDocument newPdf = new PdfDocument();
 
            //新規作成したPDFドキュメントのサイド距離を削除
            newPdf.PageSettings.Margins.All = 0;
 
            //新しいPDF文書を新設するページの幅は、元PDFドキュメントの第1ページのページ幅に等しい。高さは、元PDFドキュメント第1ページのページの高さに等しい
            newPdf.PageSettings.Width = page.Size.Width;
            newPdf.PageSettings.Height = page.Size.Height / 2;
 
            //新しいページを追加したPDFドキュメントを追加
            PdfPageBase newPage = newPdf.Pages.Add();
 
            // ページ内容が満了した後に自動的にページを分けます
            PdfTextLayout format = new PdfTextLayout();
            format.Break = PdfLayoutBreakType.FitPage;
            format.Layout = PdfLayoutType.Paginate;
 
            //オリジナルPDFドキュメントの第1ページの内容を新規PDFのページに描きます
            page.CreateTemplate().Draw(newPage, new PointF(0, 0), format);
 
            //ファイルを保存する
            newPdf.SaveToFile("HorizontallySplit.pdf");
 
            //閉鎖する
            newPdf.Close();
            pdf.Close();
        }
    }
}

2ページの横を横に分解する:
横向拆分PDF.png
縦割りPDF

using System.Drawing;
using Spire.Pdf;
using Spire.Pdf.Graphics;
 
namespace SplitPDFPage
{
    class Program
    {
        static void Main(string[] args)
        {
            // PDFドキュメントをロードする
            PdfDocument pdf = new PdfDocument();
            pdf.LoadFromFile("Sample.pdf");
 
            //第1ページを取得
            PdfPageBase page = pdf.Pages[0];
 
            PdfDocument newPdf = new PdfDocument();
            newPdf.PageSettings.Margins.All = 0;
 
            //新しくPDFドキュメントを作成するページの幅は、元PDFドキュメントの第1ページのページ幅の半分に等しい。高さは、元PDFドキュメント第1ページのページの高さに等しい
            newPdf.PageSettings.Width = page.Size.Width / 2;
            newPdf.PageSettings.Height = page.Size.Height;
 
            //新しいページを追加したPDFドキュメントを追加
            PdfPageBase newPage = newPdf.Pages.Add();
 
            
            PdfTextLayout format = new PdfTextLayout();
            format.Break = PdfLayoutBreakType.FitPage;
            format.Layout = PdfLayoutType.Paginate;
 
             page.CreateTemplate().Draw(newPage, new PointF(0, 0), format);
 
            //ファイルを保存する
            newPdf.SaveToFile("VerticallySplit.pdf");
 
            //閉鎖する
            newPdf.Close();
            pdf.Close();         
        }
    }
}

縦割り2ページの効果:
纵向拆分PDF.png

1
3
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
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?