C#给PDF文档添加文本和图片页眉

简介: 页眉常用于显示文档的附加信息,我们可以在页眉中插入文本或者图形,例如,页码、日期、公司徽标、文档标题、文件名或作者名等等。那么我们如何以编程的方式添加页眉呢?今天,这篇文章向大家分享如何使用了免费组件Free Spire.PDF给PDF文档添加文本和图片页眉。

页眉常用于显示文档的附加信息,我们可以在页眉中插入文本或者图形,例如,页码、日期、公司徽标、文档标题、文件名或作者名等等。那么我们如何以编程的方式添加页眉呢?今天,这篇文章向大家分享如何使用了免费组件Free Spire.PDF给PDF文档添加文本和图片页眉。这个组件提供了一些方法,可以帮助我们快速方便地实现此目的。

添加页眉步骤:

首先,创建一个Visual C#控制台项目,添加组件引用并使用以下命名空间。

using System;
using System.Drawing;
using Spire.Pdf;
using Spire.Pdf.Graphics;

在下列代码中,我们先定义一个SetDocumentTemplate()方法来创建一个PDF文档模板,这个模板只包含文本和图片页眉。然后,调用DrawString(string s, PdfFontBase font, PdfBrush brush, float x, float y, PdfStringFormat format)方法和DrawImage(PdfImage image, float x, float y, float width, float height)方法插入自定义的文本和图片页眉。

static void SetDocumentTemplate(PdfDocument doc, SizeF pageSize, PdfMargins margin)
{
    //创建PDF模板
    PdfPageTemplateElement topSpace = new PdfPageTemplateElement(pageSize.Width, margin.Top);
    topSpace.Foreground = true;
    doc.Template.Top = topSpace;
    //添加文本页眉
    PdfTrueTypeFont font1 = new PdfTrueTypeFont(new Font("宋体", 15f), true);
    PdfStringFormat format = new PdfStringFormat(PdfTextAlignment.Right);
    String  Text = "PDF文本页眉";
    float y = 0;
    float x = PdfPageSize.A4.Width;
     topSpace.Graphics.DrawString(Text, font1, PdfBrushes.PaleVioletRed, x, y, format);  
    //添加图片页眉
    PdfImage headerImage = PdfImage.FromFile(@"logo.png");
    float width = headerImage.Width;
    float height = headerImage.Height;
    PointF pageLeftTop = new PointF(0 , 0);
    topSpace.Graphics.DrawImage(headerImage,0,0,width/2,height/2);         
}

接下来再创建一个PDF文档,主函数内调用SetDocumentTemplate()方法将带有文本和图片页眉的模板应用到新建的PDF文档中。具体步骤:

第一步:创建一个PDF文档对象。

PdfDocument doc = new PdfDocument();

第二步:设置页边距。

PdfUnitConvertor unitCvtr = new PdfUnitConvertor();
PdfMargins margin = new PdfMargins();
margin.Top = unitCvtr.ConvertUnits(2.54f, PdfGraphicsUnit.Centimeter, PdfGraphicsUnit.Point);
margin.Bottom = margin.Top;
margin.Left = unitCvtr.ConvertUnits(4.17f, PdfGraphicsUnit.Centimeter, PdfGraphicsUnit.Point);
margin.Right = margin.Left;       

第三步:PDF文档中应用模板。

SetDocumentTemplate(doc, PdfPageSize.A4, margin);

第四步:PDF文档添加页面。

PdfPageBase page = doc.Pages.Add();
doc.Pages.Add();

第五步:保存并打开文档。

doc.SaveToFile("页眉.pdf");
System.Diagnostics.Process.Start("页眉.pdf");

添加页眉后的效果图:

全部代码:

 1 using System;
 2 using Spire.Pdf;
 3 using System.Drawing;
 4 using Spire.Pdf.Graphics;
 5 
 6 namespace PDF添加页眉
 7 {
 8     class Program
 9     {
10         static void Main(string[] args)
11         {
12             PdfDocument doc = new PdfDocument();
13 
14             PdfUnitConvertor unitCvtr = new PdfUnitConvertor();
15             PdfMargins margin = new PdfMargins();
16             margin.Top = unitCvtr.ConvertUnits(2.54f, PdfGraphicsUnit.Centimeter, PdfGraphicsUnit.Point);
17             margin.Bottom = margin.Top;
18             margin.Left = unitCvtr.ConvertUnits(4.17f, PdfGraphicsUnit.Centimeter, PdfGraphicsUnit.Point);
19             margin.Right = margin.Left;
20 
21             SetDocumentTemplate(doc, PdfPageSize.A4, margin);
22             PdfPageBase page = doc.Pages.Add();
23             doc.Pages.Add();
24 
25             doc.SaveToFile("页眉.pdf");
26             System.Diagnostics.Process.Start("页眉.pdf");
27         }
28 
29         static void SetDocumentTemplate(PdfDocument doc, SizeF pageSize, PdfMargins margin)
30         {
31             PdfPageTemplateElement topSpace = new PdfPageTemplateElement(pageSize.Width, margin.Top);
32             topSpace.Foreground = true;
33             doc.Template.Top = topSpace;
34            
35             PdfTrueTypeFont font1 = new PdfTrueTypeFont(new Font("宋体", 15f), true);
36             PdfStringFormat format = new PdfStringFormat(PdfTextAlignment.Right);
37             String  Text = "PDF文本页眉";
38             float y = 0;
39             float x = PdfPageSize.A4.Width;
40             topSpace.Graphics.DrawString(Text, font1, PdfBrushes.PaleVioletRed, x, y, format);
41             
42             PdfImage headerImage = PdfImage.FromFile(@"C:\Users\Administrator\Pictures\under_construction.jpg");
43             float width = headerImage.Width;
44             float height = headerImage.Height;
45             PointF pageLeftTop = new PointF(0, 0);
46             topSpace.Graphics.DrawImage(headerImage, 0, 0, width / 2, height / 2);
47         }
48     }
49 }
View Code

谢谢浏览!

 

目录
相关文章
|
2天前
|
人工智能 文字识别 自然语言处理
1.6K star!这个开源文本提取神器,5分钟搞定PDF/图片/Office文档!
Kreuzberg 是一个基于 Python 的文本提取库,支持从 PDF、图像、Office 文档等 20+ 格式中提取文本内容。采用 MIT 开源协议,具备本地处理、异步架构、智能 OCR 等特性,特别适合需要隐私保护的文档处理场景。
DeepSeek + Xmind,1分钟自动把pdf/word文档转成思维导图
DeepSeek与Xmind结合,1分钟将PDF、Word文档转换为思维导图。只需四步:上传文档至DeepSeek,请求转换为Markdown格式,保存文件并修改后缀为.md,最后导入Xmind生成思维导图。轻松驾驭复杂文档,适用于学习笔记、工作报告、项目规划等场景,大幅提升效率!
|
1月前
|
人工智能 编解码 文字识别
OCRmyPDF:16.5K Star!快速将 PDF 文件转换为可搜索、可复制的文档的命令行工具
OCRmyPDF 是一款开源命令行工具,专为将扫描的 PDF 文件转换为可搜索、可复制的文档。支持多语言、图像优化和多核处理。
324 17
OCRmyPDF:16.5K Star!快速将 PDF 文件转换为可搜索、可复制的文档的命令行工具
|
11天前
|
文字识别 UED Python
对双栏 | 单双栏混合 | 图表文字混合的复杂布局的图片OCR识别(对布局复杂的整个pdf进行OCR识别)
这个故事告诉我们要多尝试不同的库和引擎,尤其是需求比较偏门或者少见的时候。同一个方向不同的库所擅长的领域是不一样的。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
1月前
|
文字识别 BI
【图片型PDF】批量识别扫描件PDF指定区域局部位置内容,将识别内容导出Excel表格或批量改名文件,基于阿里云OCR对图片型PDF识别改名案例实现
在医疗和政务等领域,图片型PDF文件(如病历、报告、公文扫描件)的处理需求广泛。通过OCR技术识别这些文件中的文字信息,提取关键内容并保存为表格,极大提高了信息管理和利用效率。本文介绍一款工具——咕嘎批量OCR系统,帮助用户快速处理图片型PDF文件,支持区域识别、内容提取、导出表格及批量改名等功能。下载工具后,按步骤选择处理模式、进行区域采样、批量处理文件,几分钟内即可高效完成数百个文件的处理。
168 8
|
2月前
|
机器学习/深度学习 人工智能 文字识别
Zerox:AI驱动的万能OCR工具,精准识别复杂布局并输出Markdown格式,支持PDF、DOCX、图片等多种文件格式
Zerox 是一款开源的本地化高精度OCR工具,基于GPT-4o-mini模型,支持PDF、DOCX、图片等多种格式文件,能够零样本识别复杂布局文档,输出Markdown格式结果。
218 4
Zerox:AI驱动的万能OCR工具,精准识别复杂布局并输出Markdown格式,支持PDF、DOCX、图片等多种文件格式
|
2月前
|
人工智能 文字识别 自然语言处理
Vision Parse:开源的 PDF 转 Markdown 工具,结合视觉语言模型和 OCR,识别文本和表格并保持原格式
Vision Parse 是一款开源的 PDF 转 Markdown 工具,基于视觉语言模型,能够智能识别和提取 PDF 中的文本和表格,并保持原有格式和结构。
369 19
Vision Parse:开源的 PDF 转 Markdown 工具,结合视觉语言模型和 OCR,识别文本和表格并保持原格式
|
3月前
|
JavaScript
jquery图片和pdf文件预览插件
EZView.js是一款jquery图片和pdf文件预览插件。EZView.js可以为图片和pdf格式文件生成在线预览效果。支持的文件格式有pdf、jpg、 png、jpeg、gif。
110 16
|
3月前
|
存储 运维 安全
《VERICUT 9.X电脑配置要求与安装说明(官方)》—— PDF文档
本文档详细介绍了 CGTech Vericut 9.X 的安装指南,涵盖安装前准备、安装流程、系统要求、故障排除、许可证配置及多种接口配置等内容,为用户提供全面的软件安装与配置指导。
105 3
|
1月前
|
文字识别 Serverless 开发工具
【全自动改PDF名】批量OCR识别提取PDF自定义指定区域内容保存到 Excel 以及根据PDF文件内容的标题来批量重命名
学校和教育机构常需处理成绩单、报名表等PDF文件。通过OCR技术,可自动提取学生信息并录入Excel,便于统计分析和存档管理。本文介绍使用阿里云服务实现批量OCR识别、内容提取、重命名及导出表格的完整步骤,包括开通相关服务、编写代码、部署函数计算和设置自动化触发器等。提供Python示例代码和详细操作指南,帮助用户高效处理PDF文件。 链接: - 百度网盘:[链接](https://pan.baidu.com/s/1mWsg7mDZq2pZ8xdKzdn5Hg?pwd=8866) - 腾讯网盘:[链接](https://share.weiyun.com/a77jklXK)
88 5

热门文章

最新文章