Добавить штамп страницы PDF

Добавить штамп страницы PDF на всех страницах PDF-файла

PdfFileStamp класс позволяет добавлять штамп страницы PDF на всех страницах PDF-файла. Для добавления штампа страницы PDF вам сначала нужно создать объекты классов PdfFileStamp и Stamp. Вам также нужно создать штамп страницы PDF с помощью метода PdfFileStamp класса Stamp. Вы также можете установить другие атрибуты, такие как происхождение, поворот, фон и т. д., используя объект Stamp. Затем вы можете добавить штамп в PDF-файл, используя метод AddStamp класса PdfFileStamp. Наконец, сохраните выходной PDF-файл, используя метод Close класса PdfFileStamp. Следующий фрагмент кода показывает, как добавить штамп страницы PDF на всех страницах PDF-файла.

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

    // Create PdfFileStamp object
    using (var fileStamp = new Aspose.Pdf.Facades.PdfFileStamp())
    {
        // Bind PDF document
        fileStamp.BindPdf(dataDir + "SourcePDF.pdf");

        // Create stamp
        var stamp = new Aspose.Pdf.Facades.Stamp();
        // Bind PDF document
        stamp.BindPdf(dataDir + "AddPageStampOnAllPages.pdf", 1);
        stamp.SetOrigin(20, 20);
        stamp.Rotation = 90.0F;
        stamp.IsBackground = true;

        // Add stamp to PDF file
        fileStamp.AddStamp(stamp);

        // Save PDF document
        fileStamp.Save(dataDir + "PageStampOnAllPages_out.pdf");
    }
}

Добавить штамп страницы PDF на определенных страницах PDF-файла

PdfFileStamp класс позволяет добавлять штамп страницы PDF на определенных страницах PDF-файла. Для добавления штампа страницы PDF вам сначала нужно создать объекты классов PdfFileStamp и Stamp. Вам также нужно создать штамп страницы PDF, используя метод BindPdf класса Stamp. Вы можете установить другие атрибуты, такие как происхождение, поворот, фон и т. д., используя объект Stamp. Поскольку вы хотите добавить штамп страницы PDF на определенных страницах PDF-файла, вам также нужно установить свойство Pages класса Stamp. Это свойство требует целочисленного массива, содержащего номера страниц, на которых вы хотите добавить штамп. Затем вы можете добавить штамп в PDF-файл, используя метод AddStamp класса PdfFileStamp. Наконец, сохраните выходной PDF-файл, используя метод Close класса PdfFileStamp. Следующий фрагмент кода показывает, как добавить штамп страницы PDF на определенных страницах PDF-файла.

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

    // Create PdfFileStamp object
    using (var fileStamp = new Aspose.Pdf.Facades.PdfFileStamp())
    {
        // Bind PDF document
        fileStamp.BindPdf(dataDir + "SourcePDF.pdf");

        // Create stamp
        var stamp = new Aspose.Pdf.Facades.Stamp();
        // Bind PDF document
        stamp.BindPdf(dataDir + "PageStampOnCertainPages.pdf", 1);
        stamp.SetOrigin(20, 20);
        stamp.Rotation = 90.0F;
        stamp.IsBackground = true;
        stamp.Pages = new[] { 1, 3 };  // Apply stamp to specific pages (1 and 3)

        // Add stamp to PDF file
        fileStamp.AddStamp(stamp);

        // Save PDF document
        fileStamp.Save(dataDir + "PageStampOnCertainPages_out.pdf");
    }
}

Добавить номер страницы в PDF-файл

PdfFileStamp класс позволяет добавлять номера страниц в PDF-файл. Для добавления номеров страниц вам сначала нужно создать объект класса PdfFileStamp. Если вы хотите показать номер страницы в формате “Страница X из N”, где X - это текущий номер страницы, а N - общее количество страниц в PDF-файле, то вам сначала нужно получить количество страниц с помощью свойства NumberOfpages класса PdfFileInfo. Чтобы получить текущий номер страницы, вы можете использовать знак # в вашем тексте в любом месте, где вам нравится. Вы можете отформатировать текст номера страницы, используя класс FormattedText. Если вы хотите начать нумерацию страниц с определенного числа, вы можете установить свойство StartingNumber. Когда вы будете готовы добавить номер страницы в файл, вам нужно вызвать метод AddPageNumber класса PdfFileStamp. Наконец, сохраните выходной PDF-файл, используя метод Close класса PdfFileStamp. Следующий фрагмент кода показывает, как добавить номер страницы в PDF-файл.

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

    // Create PdfFileStamp object
    using (var fileStamp = new Aspose.Pdf.Facades.PdfFileStamp())
    {
        // Bind PDF document
        fileStamp.BindPdf(dataDir + "StampPDF.pdf");

        // Get total number of pages
        int totalPages = new Aspose.Pdf.Facades.PdfFileInfo(dataDir + "StampPDF.pdf").NumberOfPages;

        // Create formatted text for page number
        var formattedText = new Aspose.Pdf.Facades.FormattedText($"Page # of {totalPages}",
            System.Drawing.Color.AntiqueWhite,
            System.Drawing.Color.Gray,
            Aspose.Pdf.Facades.FontStyle.TimesBoldItalic,
            Aspose.Pdf.Facades.EncodingType.Winansi,
            false, 12);

        // Set starting number for first page; you might want to start from 2 or more
        fileStamp.StartingNumber = 1;
        // Add page number in upper right corner
        fileStamp.AddPageNumber(formattedText, (int)PageNumPosition.PosUpperRight);

        // Save PDF document
        fileStamp.Save(dataDir + "AddPageNumber_out.pdf");
    }
}

// Add PDF Page Numbers
public enum PageNumPosition
{
    PosBottomMiddle, PosBottomRight, PosUpperRight, PosSidesRight, PosUpperMiddle, PosBottomLeft, PosSidesLeft, PosUpperLeft
}

Пользовательский стиль нумерации

Класс PdfFileStamp предлагает возможность добавлять информацию о номере страницы в качестве объекта штампа внутри PDF-документа. До этого релиза класс поддерживал только стиль нумерации 1,2,3,4. Однако некоторые клиенты потребовали использовать пользовательский стиль нумерации при размещении штампа номера страницы внутри PDF-документа. Для выполнения этого требования было введено свойство NumberingStyle, которое принимает значения из перечисления NumberingStyle. Ниже указаны значения, предлагаемые в этом перечислении.

  • Буквы строчные.
  • Буквы прописные.
  • Арабские цифры.
  • Римские цифры строчные.
  • Римские цифры прописные.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void AddCustomPageNumberInPdfFile()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_Images();

    // Create PdfFileStamp object
    using (var fileStamp = new Aspose.Pdf.Facades.PdfFileStamp())
    {
        // Bind PDF document
        fileStamp.BindPdf(dataDir + "StampPDF.pdf");

        // Get total number of pages
        int totalPages = new Aspose.Pdf.Facades.PdfFileInfo(dataDir + "StampPDF.pdf").NumberOfPages;

        // Create formatted text for page number
        var formattedText = new Aspose.Pdf.Facades.FormattedText($"Page # of {totalPages}",
            System.Drawing.Color.AntiqueWhite,
            System.Drawing.Color.Gray,
            Aspose.Pdf.Facades.FontStyle.TimesBoldItalic,
            Aspose.Pdf.Facades.EncodingType.Winansi,
            false, 12);

        // Specify numbering style as Numerals Roman UpperCase
        fileStamp.NumberingStyle = Aspose.Pdf.NumberingStyle.NumeralsRomanUppercase;

        // Set starting number for first page; you might want to start from 2 or more
        fileStamp.StartingNumber = 1;

        // Add page number in upper right corner
        fileStamp.AddPageNumber(formattedText, (int)PageNumPosition.PosUpperRight);

        // Save PDF document
        fileStamp.Save(dataDir + "AddCustomPageNumber_out.pdf");
    }
}

// Add PDF Page Numbers
public enum PageNumPosition
{
    PosBottomMiddle, PosBottomRight, PosUpperRight, PosSidesRight, PosUpperMiddle, PosBottomLeft, PosSidesLeft, PosUpperLeft
}