如何在 PDF 页面中添加二维码

This article was translated from English: Does it need improvement?
Translated
View the article in English

将二维码直接嵌入 PDF 文档,即可即时为页面添加水印,或插入 URL、跟踪 ID 或数字签名等动态信息。

在现有 PDF 中添加二维码是文档工作流中的常见需求。 发票 PDF 文件中可能包含一个链接至支付门户的二维码。 政府记录中可能包含验证码。 活动门票可在不改变整个文档布局的情况下包含可扫描的身份证件信息。 IronQR 让这一切变得简单:使用 QrWriter.Write 生成二维码,并通过一次调用 DrawBitmap 将其添加到任意页面的任意位置。

本指南演示了如何使用 IronQR二维码嵌入到现有的 PDF 文件中。 尚未生成二维码的开发者,请先参阅《将二维码生成图片》指南。

快速入门:在 PDF 中嵌入二维码

生成一个二维码,并将其印在现有 PDF 页面的特定位置。

  1. 使用 NuGet 包管理器安装 https://www.nuget.org/packages/IronQR

    PM > Install-Package IronQR
  2. 复制并运行这段代码。

    var qrBitmap = QrWriter.Write("https://example.com").Save();
    var pdf = PdfDocument.FromFile("document.pdf");
    pdf.Pages[0].DrawBitmap(qrBitmap, 505, 20, 70, 70);
    pdf.SaveAs("stamped.pdf");
  3. 部署到您的生产环境中进行测试

    通过免费试用立即在您的项目中开始使用IronQR

    arrow pointer

二维码生成后在 PDF 页面上添加

若要在现有 PDF 中嵌入二维码,请使用 QrWriter.Write 生成二维码,并使用 Save() 将其保存为 AnyBitmap。 使用 PdfDocument.FromFile 加载目标 PDF,然后使用 DrawBitmap 将二维码放置在精确坐标位置。 x 和 y 值以 PDF 点为单位(A4 页面为 595 × 842 点),而 desiredWidthdesiredHeight 控制水印的大小。

输入

下方的二维码编码为 https://ironsoftware.com,并将被嵌入到 PDF 中。

二维码位图编码 https://ironsoftware.com
:path=/static-assets/qr/content-code-examples/how-to/stamp-qr-code-to-pdf.cs
using IronQr;
using IronPdf;
using IronSoftware.Drawing;

// Generate QR code bitmap
AnyBitmap qrBitmap = QrWriter.Write("hello world").Save();

// Load the existing PDF
PdfDocument pdf = PdfDocument.FromFile("sample.pdf");

// Stamp the QR code at the top-right corner of page 1
// A4 page is 595 x 842 PDF points; x:505, y:20 places a 70pt QR near the top-right
pdf.DrawBitmap(qrBitmap, 0, 505, 20, 70, 70);

pdf.SaveAs("sample.pdf");
Imports IronQr
Imports IronPdf
Imports IronSoftware.Drawing

' Generate QR code bitmap
Dim qrBitmap As AnyBitmap = QrWriter.Write("hello world").Save()

' Load the existing PDF
Dim pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")

' Stamp the QR code at the top-right corner of page 1
' A4 page is 595 x 842 PDF points; x:505, y:20 places a 70pt QR near the top-right
pdf.DrawBitmap(qrBitmap, 0, 505, 20, 70, 70)

pdf.SaveAs("sample.pdf")
$vbLabelText   $csharpLabel

修改后的 PDF 已保存为 SaveAs。 为避免覆盖源文件,请指定不同的输出路径。

输出

二维码位于第 1 页右上角,坐标为 (505, 20),尺寸为 70 × 70 PDF 点。


控制位置和页码

xy 参数以 PDF 点为单位,从页面左上角开始测量。 增加 x 会将水印向右移动; 增加 y 会将其下移。 pageIndex 参数采用从零开始的计数方式,因此 pageIndex: 0 指向第一页。

以下示例在不同页面上添加了两个二维码——页面 1 的右上角为验证链接,页面 2 的左下角为支持链接:

输入

下方的两个二维码分别编码了验证和支持网址,这些网址将被印在不同的页面上。

QR code encoding https://ironsoftware.com/verify
QR code encoding https://ironsoftware.com/support
:path=/static-assets/qr/content-code-examples/how-to/stamp-qr-code-to-pdf-positions.cs
using IronQr;
using IronPdf;
using IronSoftware.Drawing;

PdfDocument pdf = PdfDocument.FromFile("document.pdf");

// Page 1: stamp a verification QR at the top-right corner
AnyBitmap qrVerify = QrWriter.Write("https://ironsoftware.com/verify").Save();
pdf.DrawBitmap(qrVerify, 0, 505, 20, 70, 70);

// Page 2: stamp a support QR at the bottom-left corner
AnyBitmap qrSupport = QrWriter.Write("https://ironsoftware.com/support").Save();
pdf.DrawBitmap(qrSupport, 1, 20, 752, 70, 70);

pdf.SaveAs("document.pdf");
Imports IronQr
Imports IronPdf
Imports IronSoftware.Drawing

Dim pdf As PdfDocument = PdfDocument.FromFile("document.pdf")

' Page 1: stamp a verification QR at the top-right corner
Dim qrVerify As AnyBitmap = QrWriter.Write("https://ironsoftware.com/verify").Save()
pdf.DrawBitmap(qrVerify, 0, 505, 20, 70, 70)

' Page 2: stamp a support QR at the bottom-left corner
Dim qrSupport As AnyBitmap = QrWriter.Write("https://ironsoftware.com/support").Save()
pdf.DrawBitmap(qrSupport, 1, 20, 752, 70, 70)

pdf.SaveAs("document.pdf")
$vbLabelText   $csharpLabel

请注意PDF 点是 PDF 页面上坐标的测量单位。 A4 页面的宽度595 点高度842 点,左上角坐标为 (0, 0)。 若要在右上角边缘留出 20 pt 边距处放置一个 70 pt 的二维码,需从页面宽度中减去二维码尺寸和边距:x = 595 − 70 − 20 = 505,并将 y 值设为 20 以使其位于页面顶部附近。 对于左下角,x = 20,然后从页面高度中减去:y = 842 − 70 − 20 = 752

输出

每个二维码均放置在对应角落——验证码位于第 1 页右上角,支持信息位于第 2 页左下角。


用例

  • 发票支付链接:将支付门户网址编码后,将其嵌入第 1 页的右上角,以便客户扫描并立即付款。
  • 文档验证:将记录 ID 或哈希值编码后,将其作为水印添加在每页底部,以便接收方验证真实性。
  • 活动门票:请在第 1 页中央印上参会者 ID 或预订编号,以便入场时轻松扫描。
  • 产品标签:将产品 URL 或序列号编码后,将其印在左上角或右下角,以便快速查询库存。
  • 法律记录:编码案件编号或提交参考号,并将其加盖在每页页脚以确保可追溯性。

若需在生成二维码前进行更多控制(例如设置纠错级别或调整输出尺寸),请配置 QrOptions 对象,并在调用 StampToExistingPdfPage 之前将其传递给 QrWriter.Write

如需了解更多二维码生成模式,请参阅 C# 二维码生成器教程以及 IronQR 的完整功能集

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。

准备开始了吗?
Nuget 下载 63,625 | 版本: 2026.4 刚刚发布
Still Scrolling Icon

还在滚动吗?

想快速获得证据? PM > Install-Package IronQR
运行示例 观看您的 URL 变成 QR 代码。