Mengedit halaman individu PDF

Penjelasan

Kelas PdfPageEditor berbeda dari kelas PdfFileEditor dan PdfContentEditor. Pertama, kita perlu memahami perbedaannya, dan kemudian kita akan dapat memahami kelas PdfPageEditor dengan lebih baik. Kelas PdfFileEditor memungkinkan Anda memanipulasi semua halaman dalam sebuah file seperti menambahkan, menghapus, atau menggabungkan halaman, dll, sementara kelas PdfContentEditor membantu Anda memanipulasi konten halaman yaitu teks dan objek lainnya, dll. Sedangkan, kelas PdfPageEditor hanya bekerja dengan halaman individu itu sendiri seperti memutar, memperbesar, dan menyelaraskan halaman, dll.

Kita dapat membagi fitur yang disediakan oleh kelas ini menjadi tiga kategori utama yaitu Transisi, Penyelarasan, dan Tampilan. Kita akan membahas kategori-kategori ini di bawah ini:

Transisi

Kelas ini memiliki dua properti terkait transisi yaitu TransitionType dan TransitionDuration. TransitionType menentukan gaya transisi yang akan digunakan saat berpindah ke halaman ini dari halaman lain selama presentasi. TransitionDuration menentukan durasi tampilan untuk halaman-halaman.

Penyelarasan

Kelas PdfPageEditor mendukung penyelarasan horizontal dan vertikal. Ini menyediakan dua properti untuk tujuan tersebut yaitu Alignment dan VerticalAlignment. Properti Alignment digunakan untuk menyelaraskan konten secara horizontal. Properti Alignment mengambil nilai dari AlignmentType, yang memiliki tiga opsi yaitu Pusat, Kiri, dan Kanan. Properti VerticalAlignment mengambil nilai dari VerticalAlignmentType, yang memiliki tiga opsi yaitu Bawah, Pusat, dan Atas.

Tampilan

Di bawah kategori tampilan, kita dapat menyertakan properti seperti PageSize, Rotation, Zoom, dan DisplayDuration. Properti PageSize menentukan ukuran halaman individu dalam file. Properti ini mengambil objek PageSize sebagai input, yang mengenkapsulasi ukuran halaman yang telah ditentukan sebelumnya seperti A0, A1, A2, A3, A4, A5, A6, B5, Letter, Ledger, dan P11x17. Properti Rotation digunakan untuk mengatur rotasi halaman individu. Ini dapat mengambil nilai 0, 90, 180, atau 270. Properti Zoom mengatur koefisien zoom untuk halaman, dan mengambil nilai float sebagai input. Kelas ini juga menyediakan metode untuk mendapatkan ukuran halaman dan rotasi halaman dari halaman individu dalam file. Anda dapat menemukan contoh metode yang disebutkan di atas dalam cuplikan kode yang diberikan di bawah ini.

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void EditPdfPages()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf();

    // Create a new instance of PdfPageEditor class
    using (var pdfPageEditor = new Aspose.Pdf.Facades.PdfPageEditor())
    {
        // Bind PDF document
        pdfPageEditor.BindPdf(dataDir + "FilledForm.pdf");

        // Specify an array of pages which need to be manipulated (pages can be multiple, here we have specified only one page)
        pdfPageEditor.ProcessPages = new int[] { 1 };

        // Alignment related code
        pdfPageEditor.HorizontalAlignment = Aspose.Pdf.HorizontalAlignment.Right;

        // Specify transition type for the pages
        pdfPageEditor.TransitionType = 2;
        // Specify transition duration
        pdfPageEditor.TransitionDuration = 5;

        // Display related code

        // Select a page size from the enumeration and assign to property
        pdfPageEditor.PageSize = Aspose.Pdf.PageSize.PageLedger;

        // Assign page rotation
        pdfPageEditor.Rotation = 90;

        // Specify zoom factor for the page
        pdfPageEditor.Zoom = 100;

        // Assign display duration for the page
        pdfPageEditor.DisplayDuration = 5;

        // Fetching methods

        // Methods provided by the class, page rotation specified already
        var rotation = pdfPageEditor.GetPageRotation(1);

        // Already specified page can be fetched
        var pageSize = pdfPageEditor.GetPageSize(1);

        // This method gets the page count
        var totalPages = pdfPageEditor.GetPages();

        // This method changes the origin from (0,0) to specified number
        pdfPageEditor.MovePosition(100, 100);

        // Save PDF document
        pdfPageEditor.Save(dataDir + "EditPdfPages_out.pdf");
    }
}