将页眉和页脚添加到PDF

Aspose.PDF for .NET允许您在现有的PDF文件中添加页眉和页脚。您可以向PDF文档添加图像或文本。此外,尝试使用C#在一个PDF文件中添加不同的页眉。

以下代码片段也适用于Aspose.PDF.Drawing库。

在PDF文件的页眉中添加文本

您可以使用TextStamp类在PDF文件的页眉中添加文本。TextStamp类提供了创建基于文本的印章所需的属性,如字体大小、字体样式和字体颜色等。为了在页眉中添加文本,您需要使用所需的属性创建一个Document对象和一个TextStamp对象。之后,您可以调用Page的AddStamp方法将文本添加到PDF的页眉中。

您需要以适当的方式设置TopMargin属性,以便将文本调整到PDF的页眉区域。您还需要将HorizontalAlignment设置为Center,将VerticalAlignment设置为Top。

以下代码片段演示了如何使用C#在PDF文件的页眉中添加文本。

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

    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "TextinHeader.pdf"))
    {
        // Create header as a TextStamp
        var textStamp = new Aspose.Pdf.TextStamp("Header Text")
        {
            TopMargin = 10,
            HorizontalAlignment = Aspose.Pdf.HorizontalAlignment.Center,
            VerticalAlignment = Aspose.Pdf.VerticalAlignment.Top
        };

        // Add header on all pages
        foreach (var page in document.Pages)
        {
            page.AddStamp(textStamp);
        }

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

在PDF文件的页脚中添加文本

您可以使用TextStamp类在PDF文件的页脚中添加文本。TextStamp类提供了创建基于文本的印章所需的属性,如字体大小、字体样式和字体颜色等。为了在页脚中添加文本,您需要使用所需的属性创建一个Document对象和一个TextStamp对象。之后,您可以调用Page的AddStamp方法将文本添加到PDF的页脚中。

以下代码片段演示了如何使用C#在PDF文件的页脚中添加文本。

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

    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "TextinFooter.pdf"))
    {
        // Create footer as a TextStamp
        var textStamp = new Aspose.Pdf.TextStamp("Footer Text")
        {
            BottomMargin = 10,
            HorizontalAlignment = Aspose.Pdf.HorizontalAlignment.Center,
            VerticalAlignment = Aspose.Pdf.VerticalAlignment.Bottom
        };

        // Add footer on all pages
        foreach (var page in document.Pages)
        {
            page.AddStamp(textStamp);
        }

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

在PDF文件的页眉中添加图像

您可以使用ImageStamp类在PDF文件的页眉中添加图像。Image Stamp类提供了创建基于图像的印章所需的属性,如字体大小、字体样式和字体颜色等。为了在页眉中添加图像,您需要使用所需的属性创建一个Document对象和一个Image Stamp对象。之后,您可以调用AddStamp方法将图像添加到PDF的页眉中。

以下代码片段演示了如何使用C#在PDF文件的页眉中添加图像。

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

    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "ImageinHeader.pdf"))
    {
        // Create header as an ImageStamp
        var imageStamp = new Aspose.Pdf.ImageStamp(dataDir + "aspose-logo.jpg")
        {
            TopMargin = 10,
            HorizontalAlignment = Aspose.Pdf.HorizontalAlignment.Center,
            VerticalAlignment = Aspose.Pdf.VerticalAlignment.Top
        };

        // Add image header on all pages
        foreach (var page in document.Pages)
        {
            page.AddStamp(imageStamp);
        }

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

在PDF文件的页脚中添加图像

您可以使用Image Stamp类在PDF文件的页脚中添加图像。Image Stamp类提供了创建基于图像的印章所需的属性,如字体大小、字体样式和字体颜色等。为了在页脚中添加图像,您需要使用所需的属性创建一个Document对象和一个Image Stamp对象。之后,您可以调用Page的AddStamp方法将图像添加到PDF的页脚中。

以下代码片段演示了如何使用C#在PDF文件的页脚中添加图像。

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

    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "ImageInFooter.pdf"))
    {
        // Create footer as an ImageStamp
        var imageStamp = new Aspose.Pdf.ImageStamp(dataDir + "aspose-logo.jpg")
        {
            BottomMargin = 10,
            HorizontalAlignment = Aspose.Pdf.HorizontalAlignment.Center,
            VerticalAlignment = Aspose.Pdf.VerticalAlignment.Bottom
        };

        // Add image footer on all pages
        foreach (var page in document.Pages)
        {
            page.AddStamp(imageStamp);
        }

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

在一个PDF文件中添加不同的页眉

我们知道可以通过使用TopMargin或Bottom Margin属性在文档的页眉/页脚部分添加TextStamp,但有时我们可能需要在单个PDF文档中添加多个页眉/页脚。Aspose.PDF for .NET解释了如何做到这一点。

为了实现这一要求,我们将创建单独的TextStamp对象(对象的数量取决于所需的页眉/页脚数量),并将它们添加到PDF文档中。我们还可以为每个印章对象指定不同的格式信息。在以下示例中,我们创建了Document对象和三个TextStamp对象,然后使用Page的AddStamp方法将文本添加到PDF的页眉部分。以下代码片段演示了如何使用Aspose.PDF for .NET在PDF文件的页脚中添加图像。

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

    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "AddingDifferentHeaders.pdf"))
    {
        // Create three stamps
        var stamp1 = new Aspose.Pdf.TextStamp("Header 1");
        var stamp2 = new Aspose.Pdf.TextStamp("Header 2");
        var stamp3 = new Aspose.Pdf.TextStamp("Header 3");

        // Set stamp1 properties (Header 1)
        stamp1.VerticalAlignment = Aspose.Pdf.VerticalAlignment.Top;
        stamp1.HorizontalAlignment = Aspose.Pdf.HorizontalAlignment.Center;
        stamp1.TextState.FontStyle = Aspose.Pdf.Text.FontStyles.Bold;
        stamp1.TextState.ForegroundColor = Aspose.Pdf.Color.Red;
        stamp1.TextState.FontSize = 14;

        // Set stamp2 properties (Header 2)
        stamp2.VerticalAlignment = Aspose.Pdf.VerticalAlignment.Top;
        stamp2.HorizontalAlignment = Aspose.Pdf.HorizontalAlignment.Center;
        stamp2.Zoom = 10;

        // Set stamp3 properties (Header 3)
        stamp3.VerticalAlignment = Aspose.Pdf.VerticalAlignment.Top;
        stamp3.HorizontalAlignment = Aspose.Pdf.HorizontalAlignment.Center;
        stamp3.RotateAngle = 35;
        stamp3.TextState.BackgroundColor = Aspose.Pdf.Color.Pink;
        stamp3.TextState.Font = Aspose.Pdf.Text.FontRepository.FindFont("Verdana");

        // Add the stamps to specific pages
        document.Pages[1].AddStamp(stamp1);
        document.Pages[2].AddStamp(stamp2);
        document.Pages[3].AddStamp(stamp3);

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