PDFページの分割

ファイルパスを使用して最初からPDFページを分割

SplitFromFirst メソッドは、PdfFileEditor クラスのもので、指定されたページ番号で終了する最初のページからPDFファイルを分割することができます。ディスクからPDFファイルを操作したい場合は、このメソッドに入力および出力PDFファイルのファイルパスを渡すことができます。以下のコードスニペットは、ファイルパスを使用して最初からPDFページを分割する方法を示しています。

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void SplitPdfPagesFromFirstUsingFilePaths()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdfFacades_Pages();
    // Create PdfFileEditor object
    var pdfEditor = new Aspose.Pdf.Facades.PdfFileEditor();
    // Split pages
    pdfEditor.SplitFromFirst(dataDir + "MultiplePages.pdf", 3, dataDir + "SplitPagesUsingPaths_out.pdf");
}

ファイルストリームを使用して最初からPDFページを分割

SplitFromFirst メソッドは、PdfFileEditor クラスのもので、指定されたページ番号で終了する最初のページからPDFファイルを分割することができます。ストリームからPDFファイルを操作したい場合は、このメソッドに入力および出力PDFストリームを渡すことができます。以下のコードスニペットは、ファイルストリームを使用して最初からPDFページを分割する方法を示しています。

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void SplitPdfPagesFromFirstUsingFileStreams()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdfFacades_Pages();
    // Create PdfFileEditor object
    var pdfEditor = new Aspose.Pdf.Facades.PdfFileEditor();
    // Create streams
    using (var inputStream = new FileStream(dataDir + "MultiplePages.pdf", FileMode.Open))
    {
        using (var outputStream = new FileStream(dataDir + "SplitPagesUsingStreams_out.pdf", FileMode.Create))
        {
            // Split pages
            pdfEditor.SplitFromFirst(inputStream, 3, outputStream);
        }
    }
}

ファイルパスを使用してPDFページをバルクに分割

SplitToBulks メソッドは、PdfFileEditor クラスのもので、PDFファイルを複数のページセットに分割することができます。この例では、2つのページセット(1, 2)と(5, 6)が必要です。ディスクからPDFファイルにアクセスする場合は、入力PDFをファイルパスとして渡す必要があります。このメソッドはMemoryStreamの配列を返します。この配列をループして、個々のページセットを別々のファイルとして保存できます。以下のコードスニペットは、ファイルパスを使用してPDFページをバルクに分割する方法を示しています。

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void SplitPdfPagesToBulkUsingFilePaths()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdfFacades_Pages();
    // Create PdfFileEditor object
    var pdfEditor = new Aspose.Pdf.Facades.PdfFileEditor();
    var fileNumber = 1;
    // Create array of pages to split
    var numberOfPages = new int[][] { new int[] { 1, 2 }, new int[] { 3, 4 } };
    // Split to bulk
    var outBuffer = pdfEditor.SplitToBulks(dataDir + "MultiplePages.pdf", numberOfPages);
    // Save individual files
    foreach (var outStream in outBuffer)
    {
        using (var outFileStream = new FileStream(dataDir + "File_" + fileNumber.ToString() + "_out.pdf", FileMode.Create))
        {
            outStream.WriteTo(outFileStream);
            fileNumber++;
        }
    }
}

ストリームを使用してPDFページをバルクに分割

SplitToBulks メソッドは、PdfFileEditor クラスのもので、PDFファイルを複数のページセットに分割することができます。この例では、2つのページセット(1, 2)と(5, 6)が必要です。ディスクからファイルにアクセスする代わりに、このメソッドにストリームを渡すことができます。このメソッドはMemoryStreamの配列を返します。この配列をループして、個々のページセットを別々のファイルとして保存できます。以下のコードスニペットは、ストリームを使用してPDFページをバルクに分割する方法を示しています。

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void SplitPdfPagesToBulkUsingStreams()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdfFacades_Pages();
    // Create PdfFileEditor object
    var pdfEditor = new Aspose.Pdf.Facades.PdfFileEditor();
    // Create input stream
    using (var inputStream = new FileStream(dataDir + "MultiplePages.pdf", FileMode.Open))
    {
        var fileNumber = 1;
        // Create array of pages to split
        var numberOfPages = new int[][] { new int[] { 1, 2 }, new int[] { 3, 4 } };
        // Split to bulk
        var outBuffer = pdfEditor.SplitToBulks(inputStream, numberOfPages);
        // Save individual files
        foreach (var outStream in outBuffer)
        {
            using (var outFileStream = new FileStream(dataDir + "File_" + fileNumber.ToString() + "_out.pdf", FileMode.Create))
            {
                outStream.WriteTo(outFileStream);
                fileNumber++;
            }
        }
    }
}

ファイルパスを使用してPDFページを最後まで分割

SplitToEnd メソッドは、PdfFileEditor クラスのもので、指定されたページ番号からPDFファイルの最後まで分割し、新しいPDFとして保存することができます。これを行うには、ファイルパスを使用して、入力および出力ファイルパスと分割を開始するページ番号を渡す必要があります。出力PDFはディスクに保存されます。以下のコードスニペットは、ファイルパスを使用してPDFページを最後まで分割する方法を示しています。

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void SplitPdfPagesToEndUsingFilePaths()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdfFacades_Pages();
    // Create PdfFileEditor object
    var pdfEditor = new Aspose.Pdf.Facades.PdfFileEditor();
    // Split pages
    pdfEditor.SplitToEnd(dataDir + "MultiplePages.pdf", 3, dataDir + "SplitPagesToEndUsingPaths_out.pdf");
}

ストリームを使用してPDFページを最後まで分割

SplitToEnd メソッドは、PdfFileEditor クラスのもので、指定されたページ番号からPDFファイルの最後まで分割し、新しいPDFとして保存することができます。これを行うには、ストリームを使用して、入力および出力ストリームと分割を開始するページ番号を渡す必要があります。出力PDFは出力ストリームに保存されます。以下のコードスニペットは、ストリームを使用してPDFページを最後まで分割する方法を示しています。

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void SplitPdfPagesToEndUsingStreams()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdfFacades_Pages();
    // Create PdfFileEditor object
    var pdfEditor = new Aspose.Pdf.Facades.PdfFileEditor();
    // Create streams
    using (var inputStream = new FileStream(dataDir + "MultiplePages.pdf", FileMode.Open))
    {
        using (var outputStream = new FileStream(dataDir + "SplitPagesToEndUsingStreams_out.pdf", FileMode.Create))
        {
            // Split pages
            pdfEditor.SplitToEnd(inputStream, 3, outputStream);   
        }
    }
}

ファイルパスを使用してPDFを個々のページに分割

PDFファイルを個々のページに分割するには、SplitToPages メソッドにPDFをファイルパスとして渡す必要があります。このメソッドは、PDFファイルの個々のページを含むMemoryStreamの配列を返します。このMemoryStreamの配列をループして、個々のページを別々のPDFファイルとしてディスクに保存できます。以下のコードスニペットは、ファイルパスを使用してPDFを個々のページに分割する方法を示しています。

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void SplitPdfToIndividualPagesUsingFilePaths()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdfFacades_Pages();
    // Create PdfFileEditor object
    var pdfEditor = new Aspose.Pdf.Facades.PdfFileEditor();
    var fileNumber = 1;
    // Split to pages
    var outBuffer = pdfEditor.SplitToPages(dataDir + "splitPdfToIndividualPagesInput.pdf");
    // Save individual files
    foreach (var outStream in outBuffer)
    {
        using (var outFileStream = new FileStream(dataDir + "File_" + fileNumber.ToString() + "_out.pdf", FileMode.Create))
        {
            outStream.WriteTo(outFileStream);
            fileNumber++;
        }
    }
}

ストリームを使用してPDFを個々のページに分割

PDFファイルを個々のページに分割するには、SplitToPages メソッドにPDFをストリームとして渡す必要があります。このメソッドは、PDFファイルの個々のページを含むMemoryStreamの配列を返します。このMemoryStreamの配列をループして、個々のページを別々のPDFファイルとしてディスクに保存することも、後でアプリケーションで使用するためにメモリストリームに保持することもできます。以下のコードスニペットは、ストリームを使用してPDFを個々のページに分割する方法を示しています。

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void SplitPdfToIndividualPagesUsingStreams()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdfFacades_Pages();
    // Create PdfFileEditor object
    var pdfEditor = new Aspose.Pdf.Facades.PdfFileEditor();
    // Create input stream
    using (var inputStream = new FileStream(dataDir + "splitPdfToIndividualPagesInput.pdf", FileMode.Open))
    {
        var fileNumber = 1;
        // Split to pages
        var outBuffer = pdfEditor.SplitToPages(inputStream);
        // Save individual files
        foreach (var outStream in outBuffer)
        {
            using (var outFileStream = new FileStream(dataDir + "File_" + fileNumber.ToString() + "_out.pdf", FileMode.Create))
            {
                outStream.WriteTo(outFileStream);
                fileNumber++;
            }
        }
    }
}