如何将图像添加到 PDF 的所有页面?

2023-12-26

我一直在尝试使用 itextsharp 将图像添加到所有页面。图像需要覆盖每个页面的所有内容。我在所有其他代码下面使用了以下代码doc.add()

Document doc = new Document(iTextSharp.text.PageSize.A4, 10, 10, 30, 1);
PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream(Server.MapPath("~/pdf/" + fname), FileMode.Create));
doc.Open();
Image image = Image.GetInstance(Server.MapPath("~/images/draft.png"));
image.SetAbsolutePosition(12, 300);
writer.DirectContent.AddImage(image, false);
doc.Close();

上面的代码仅在最后一页插入图像。有没有办法在所有页面中以相同的方式插入图像?


图片只添加一次是正常的;毕竟:您只添加一次。 (或者您在代码片段中遗漏了一些基本步骤:请参阅我所做的编辑。)

无论如何:您可以通过使用页面事件来解决您的问题。这里有一些 Java 的例子:http://itextpdf.com/sandbox/events http://itextpdf.com/sandbox/events

或者你可以参考我书的第五章。所有示例均可在Java http://itextpdf.com/book/chapter.php?id=5以及在C# http://tinyurl.com/itextsharpIIA2C05.

您应该通过 5 个步骤创建一个文档,并在第 2 步中添加一个事件:

// step 1
Document document = new Document();
// step 2
PdfWriter writer = PdfWriter.GetInstance(document, stream);
MyEvent event = new MyEvent();
writer.PageEvent = event;
// step 3
document.Open();
// step 4
// Add whatever content you want to add
// step 5
document.Close();

你必须写下MyEvent给自己上课:

protected class MyEvent : PdfPageEventHelper {

    Image image;

    public override void OnOpenDocument(PdfWriter writer, Document document) {
        image = Image.GetInstance(Server.MapPath("~/images/draft.png"));
        image.SetAbsolutePosition(12, 300);
    }

    public override void OnEndPage(PdfWriter writer, Document document) {
        writer.DirectContent.AddImage(image);
    }
}

The OnEndPage()在班上MyEvent每次都会触发PdfWriter已完成一页。因此,图像将添加到每个页面上。

Caveat:重要的是要创建image物体外的OnEndPage()方法,否则图像字节可能会被添加与 PDF 中的页面一样多的次数(导致 PDF 臃肿)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将图像添加到 PDF 的所有页面? 的相关文章

  • 将 SVG 文件转换为多个不同大小的 PNG 文件

    我有一个 SVG 格式的徽标图像 我想知道是否有办法生成多个不同大小的 png 文件 例如 我设置了 20 个不同的宽度和高度 它会生成 20 个 PNG 文件 如果我必须一次处理 5 张图像也没关系 我已经安装了 illustrator
  • 使用 Django 从标准输出返回 pdf 响应

    我正在使用 wkhtmltopdf 创建 PDF 文件 但是我不知道如何正确返回它们 所以我必须将它们写入我的媒体文件夹 然后重定向到刚刚创建的文件 编辑 Ian 的建议是写入 STDOUT 因此我更改了 wkhtmltopdf 命令来执行
  • React-native iOS 不显示图像(pod 问题)

    我正在我的react native应用程序中安装一个包 具体来说 它是来自react navigation的createMaterialTopTabNavigator 但安装成功后 出现崩溃 错误 react navigation mate
  • 在PHP中根据日期显示图像

    在我的计算机上的某个位置 我有一个 PHP 脚本 用于根据日期显示图像 这将允许我在特定日期或选定日期之间显示不同的图像 并在当前日期未列出时显示默认日期要显示的特定图像 我最近的一个硬盘驱动器出现了问题 丢失了一堆文件 我担心这个脚本就是
  • 使用 iText 在内存上生成在磁盘上生成的 PDF

    我正在从 Java 应用程序生成 PDF 并且效果很好 问题是 PDF 在磁盘上生成为 Document documento new Document PageSize A4 25 25 25 25 PdfWriter writer Pdf
  • 在 Foreach 或 For 循环中使用 EditorFor (ASP.NET MVC + RAZOR)

    我目前正在实施一个家谱我的 ASP NET MVC 项目中的系统 为了设置家庭成员之间的关系 我需要每行显示两个 ComboBox DropDownList 来定义一个成员与另一个成员之间的关系 首先我将分享我的代码 然后我将解释到目前为止
  • TextMarginFinder 用于验证适印性

    我试图使用 TextMarginFinder 来证明打印时奇数页和偶数页正确备份 我的代码基于 http itextpdf com examples iia php id 280 http itextpdf com examples iia
  • 应用程序找不到位于另一个项目中的 Razor 页面

    我正在从事 Razor Pages 项目 该解决方案由多个项目组成 即 Server 它管理依赖注入的服务 是一个启动项目 应用程序 包含索引页面和共享组件 以及多个 模块 项目 它们是站点的独立区域 我需要向该解决方案添加新模块以及登陆页
  • opencv - 在图像中绘制轮廓

    我正在尝试在图像周围绘制轮廓 我可以看到找到了轮廓 但无法绘制轮廓 轮廓的颜色似乎是两种 黑色和白色 颜色中的一种 import cv2 import numpy as np import matplotlib pyplot as plt
  • 可以使用 jQuery 或 Javascript 将图片的特定部分用作链接吗?

    我有这个想法 将图片 而不是文本 的各个部分链接到不同的页面或网站 并且我想在不实际创建不同的照片并将它们彼此靠近的情况下完成 这样看起来就像是一张完整的图片 这里有人知道如何使用 JavaScript 的变体 例如 jQuery 或纯 J
  • MVC 在布局代码之前执行视图代码并破坏我的脚本顺序

    我正在尝试将所有 javascript 包含内容移至页面底部 我正在将 MVC 与 Razor 一起使用 我编写了一个辅助方法来注册脚本 它按注册顺序保留脚本 并排除重复的内容 Html RegisterScript scripts som
  • VBA将二进制图像转换为网页的base64编码字符串

    我正在尝试读取 JPG 文件并将该文件转换为 base64 编码的字符串 该字符串可用作网页上的嵌入 jpeg 我在网上发现了两个在 VBA 中进行 Base64 编码 解码的函数 它们似乎被广泛接受 编码 解码过程产生了我的原始二进制字符
  • ASP.NET MVC:Razor @helper 与 HtmlHelper 的扩展方法 - 哪个是首选?

    ASP NET MVC 中的 Razor 视图引擎支持 helper 来定义小帮助器方法 看来您可以通过向 HtmlHelper 添加扩展方法来完成同样的事情 在什么情况下最好分别使用 主观问题 所以这是我主观且有偏见的答案 当帮助程序代码
  • FireFox:使用画布对象的图像 base64 数据不起作用

    这是我编写的用于调整图像宽高比大小的代码 它可以在 chrome 上运行 但不能在 firefox 上显示 有人知道出了什么问题吗 var image new Image image src data image load function
  • 如何使用 Android 版 Facebook 同步的联系人图片

    我的手机上安装了 Android 版 Facebook 它会自动将联系人列表中人员的 FB 个人资料图片同步到我的手机 我想在我访问的应用程序中使用这些图片ContactsContract PhoneLookup 我真的需要 Faceboo
  • 如何将电子邮件类型的输入应用到 Asp.net MVC3 Razor 中的 HTML Helper

    如何将电子邮件类型的输入应用到 Asp net MVC3 Razor 中的 HTML Helper 例如
  • 有没有一种简单的方法(工具?)来比较不同格式的图像像素?

    好吧 我现在已经用 java 编写了一个基本的无损 jpeg 连接器 但我想将它生成的文件与原始文件进行比较 我只能在十六进制编辑器中比较这么多 有谁知道一种简单的方法 基于软件或基于java 最好是软件 因为我现在不想再编码了 我可以比较
  • 光学标记阅读器的开源库[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我想要一个用于光学标记读取 OMR 的开源库 有这样的库吗 我想在我的 java 应用程序中使用这个库 zxing 可能对你有用 http
  • 如何使用 itextsharp 更改 PDF 公式的按钮图标?

    我目前正在尝试使用 itextsharp 填写预定义的表单 除了添加图像之外 一切正常 这之前已经在 Adob e 的 FDF 工具包中运行过 该工具包已编译为 NET 1 1 这不再适用于 NET 4 0 我改用了 itextsharp
  • 从 Firebase 实时数据库 + 存储加载图像

    我正在使用 Firebase 文档 react redux firebase 中的 create react app 创建类似汽车图片库的东西 图像信息存储在 Firebase 实时数据库中 但实际图像文件存储在 Firebase 存储中

随机推荐

  • golang中无法通过ObjectId获取mongodb记录

    我尝试使用以下代码通过 ObjectId 获取 mongodb 记录 但不断获取未找到 by err Error 以下是我的 mongo 集合示例 id ObjectId 5a2a75f777e864d018131a59 callDate
  • 与动态 ndarray 作斗争

    我是 MATLAB 用户 将以下 MATLAB 脚本移植到 python 的最简单方法是什么 a for i 1 10 for j 1 10 a i j i j end end 问题是关于动态使用 np ndarrays 在 MATLAB
  • 将一个系列分配给数据帧的所有列(按列)?

    我有一个数据框 以及与 df 相同垂直尺寸的系列 我想分配 该系列到 DataFrame 的所有列 自然又是什么原因呢 例如 df pd DataFrame 1 2 3 4 5 6 ser pd Series 1 2 3 我希望 df 的所
  • 无法更新 ssl 上下文

    我正在测试 firestore 设置教程 但我遇到了困难 我似乎找不到任何解决方案 有人可以帮忙吗 我只是遵循基本设置代码 但无法将数据添加到 Firestore 我已经成功测试了实时数据库 所以现在我正在测试 firestore 这是我主
  • 了解Rails ActiveRecord“单一模型”自连接

    我很难理解如何在 Rails 中实现单个模型自连接 这ActiveRecord 关联指南第 2 10 节 http guides rubyonrails org association basics html简要解释了自连接 但没有提供足够
  • Libssh - SSH 消息未实现

    我尝试使用 ssh connect 和 libssh 进行连接 但出现以下错误 我不知道这意味着什么 有什么想法吗 2014 09 30 00 53 00 015877 2 channel open Creating a channel 4
  • Linux 中的 DNS 缓存 [关闭]

    Closed 这个问题是与编程或软件开发无关 help closed questions 目前不接受答案 我对 DNS 缓存感到困惑 我正在编写一个小型转发代理服务器 并希望在 Linux 系统上使用操作系统 DNS 缓存 如果我理解正确的
  • 可观察集合的多个视图

    我已经研究这个问题有一段时间了 但我显然错过了一些东西 我创建 填充并绑定一个可观察集合 如下所示 Dim ObservableWEI As New ObservableWEI ObservableWEI Add New WEI With
  • 无法使用 JDK 10 在 Netbeans 8.2 上创建项目

    我正在尝试在 Ubuntu 上创建项目 但它无法做到这一点 不会给我任何错误或其他什么 只是这个空白屏幕 帮助 关于 Product Version NetBeans IDE 8 2 Build 201609300101 Updates N
  • 不得设置compilerOptions.paths(不支持别名导入)

    我正在尝试映射 tsconfig json 中的路径以摆脱相对路径地狱 我的React App 基于 Create React App 我试过这个所以线程 https stackoverflow com questions 43281741
  • 从另一个日期对象获取一个日期对象(六个月前)

    我怎样才能创建一个日期对象小于n与另一个的月数日期对象 我正在寻找类似的东西DateAdd Example var objCurrentDate new Date 现在使用objCurrentDate 我怎样才能创建一个Date日期比今天早
  • Eclipse 中的 Maven 子模块:在另一个模块中找不到一个模块的资源

    我有以下 Maven 项目结构 Example Persistence GWTApp 持久性具有 persistence xmlsrc main resources META INF 并且它在单一测试中工作得很好 我需要在 GWTApp 项
  • textFieldShouldReturn 不起作用(在 XCode 4 上使用情节提要)

    我有一个按钮和一个文本字段 我只是希望点击按钮时键盘消失 为什么我下面的代码不起作用 更新 我看到了一些关于文件所有者的信息 我不明白如何在 XCode4 中执行此操作 我使用情节提要 但看不到任何文件所有者图标 更新2 我发现了一个啧啧h
  • 如何格式化浮点数而不进行四舍五入?

    我试图通过将小数点设置为 1 来格式化浮点数 假设为 341 75 我试过 var num 341 75 alert num toFixed 1 output 341 8 alert num toPrecision 1 output 341
  • 从深层嵌套的 JSON 结构中提取值

    这是我从其他地方获得的结构 即深度嵌套字典的列表 foo code 404 foo rbody query info acme no 444444 road runner 123 error no lunch message runner
  • 根据值或空白隐藏 Google 电子表格中的空白行

    我正在尝试获取一个脚本 能够隐藏没有数据的行或返回空白结果 我不知道该怎么做 这里用截图做一些解释 剧本应该从第27行开始 在那个例子中 我想先隐藏 第 36 37 38 行 第二 我想根据没有数据的 L 列隐藏第 49 57 行 里面有公
  • 更改属性名称

    我有一个 JavaScript 对象 如下所示 var a Prop1 test Prop2 test2 我将如何改变属性名称 of Prop1 to Prop3 我尝试了以下代码 但它不起作用 for var p in r p prope
  • Kubernetes 服务的 LoadBalancer 和外部 IP 类型有什么区别

    我正在使用 Kubernetes 服务 但我对以下参数有点困惑外部IP服务中 如果存在路由到一个或多个集群节点的外部 IP 则可以在这些外部 IP 上公开 Kubernetes 服务 在服务端口上使用外部 IP 作为目标 IP 进入集群的流
  • 在Ruby中检测上传文件的MIME类型

    是否有一种防弹方法可以在 Ruby 或 Ruby on Rails 中检测上传文件的 MIME 类型 我正在使用 SWFupload 上传 JPEG 和 PNGcontent type总是 application octet stream
  • 如何将图像添加到 PDF 的所有页面?

    我一直在尝试使用 itextsharp 将图像添加到所有页面 图像需要覆盖每个页面的所有内容 我在所有其他代码下面使用了以下代码doc add Document doc new Document iTextSharp text PageSi