Редактирование отдельных страниц PDF

Объяснение

Класс PdfPageEditor отличается от классов PdfFileEditor и PdfContentEditor. Сначала нам нужно понять разницу, а затем мы сможем лучше понять класс PdfPageEditor. Класс PdfFileEditor позволяет вам манипулировать всеми страницами в файле, такими как добавление, удаление или объединение страниц и т. д., в то время как класс PdfContentEditor помогает вам манипулировать содержимым страницы, т.е. текстом и другими объектами и т. д. В то время как класс PdfPageEditor работает только с отдельной страницей, такой как поворот, масштабирование и выравнивание страницы и т. д.

Мы можем разделить функции, предоставляемые этим классом, на три основные категории: Переход, Выравнивание и Отображение. Мы обсудим эти категории ниже:

Переход

Этот класс содержит два свойства, связанные с переходом, т.е. TransitionType и TransitionDuration. TransitionType указывает стиль перехода, который будет использоваться при переходе на эту страницу с другой страницы во время презентации. TransitionDuration указывает продолжительность отображения страниц.

Выравнивание

Класс PdfPageEditor поддерживает как горизонтальное, так и вертикальное выравнивание. Он предоставляет два свойства для этой цели, т.е. Alignment и VerticalAlignment. Свойство Alignment используется для горизонтального выравнивания содержимого. Свойство Alignment принимает значение AlignmentType, которое содержит три варианта: Центр, Слева и Справа. Свойство VerticalAlignment принимает значение VerticalAlignmentType, которое содержит три варианта: Снизу, По центру и Сверху.

Отображение

В категорию отображения мы можем включить такие свойства, как PageSize, Rotation, Zoom и DisplayDuration. Свойство PageSize указывает размер отдельной страницы в файле. Это свойство принимает объект PageSize в качестве входных данных, который инкапсулирует предопределенные размеры страниц, такие как A0, A1, A2, A3, A4, A5, A6, B5, Letter, Ledger и P11x17. Свойство Rotation используется для установки поворота отдельной страницы. Оно может принимать значения 0, 90, 180 или 270. Свойство Zoom устанавливает коэффициент масштабирования для страницы и принимает значение с плавающей запятой в качестве входных данных. Этот класс также предоставляет метод для получения размера страницы и поворота страницы отдельной страницы в файле.

Вы можете найти примеры вышеупомянутых методов в приведенном ниже фрагменте кода:

// 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");
    }
}

Заключение