添加条形码 PDF - QR Code 一体化 API
PDF4me 添加条形码 PDF 使您能够添加专业条形码和 QR codes 到 PDF 具有精确定位、大小和格式控制功能的文档。 API 服务流程 PDF 使用文件并添加条形码 Base64 用于安全传输的编码。支持 150 多种条形码类型,包括 QR codes, Code128, DataMatrix, Aztec, Hanxin, PDF417对于库存管理系统、运输标签自动化、文档跟踪工作流程和企业条形码集成等特殊格式,此解决方案是理想之选。
验证您的身份 API 要求
要访问 PDF4me REST API每个请求都必须包含正确的身份验证凭据。身份验证可确保通信安全,并验证您作为授权用户的身份。 REST API。
主要特点
- 全面的条形码支持支持 150 多种条形码类型,包括 QR codes, Code128, DataMatrix, Aztec, Hanxin, PDF417邮政编码和专业行业格式
- 精确定位控制将条形码放置在任意位置 PDF 使用毫米和点测量系统实现像素级精确的页面制作
- 高级尺寸选项灵活的条形码尺寸,具备自动调整大小功能和自定义宽度/高度控制,以实现最佳扫描性能
- 专业文本管理:配置条形码文本的显示、位置(上方/下方)和可见性,并提供可自定义的格式选项
- 不透明度和透明度调整条形码透明度,以实现水印效果、文档叠加和专业演示。
- 企业批量处理通过自动化处理工作流程,向多个页面、文档或整个文档集添加条形码
REST API 端点
这 PDF4me REST API 使用标准 HTTP 与资源交互的方法。所有条形码操作均通过单个端点执行:
- 方法: POST
- 终点:
/api/v2/addbarcode
支持的条形码类型
支持 150 多种条码类型,功能全面。 PDF 一体化。
常用的一维条形码
- Code128 - 通用条形码(最多 255 个字符)
- Code39 - 字母数字条形码(最多 43 个字符)
- EAN13/EAN8 - 零售产品代码(13/8 个字符)
- UPC-A/UPC-E - 北美零售(12/8 个字符)
常用二维条码
- QR Code - 移动端扫描(最多 4,296 个字符)
- DataMatrix - 高密度 2D(最多 2,335 个字符)
- PDF417 - 大容量数据(最大 2,710 个字符)
- Aztec - 出色的纠错功能(最多 3,832 个字符)
专业格式
- 邮政编码: USPS, Royal Mail, Australia Post, Deutsche Post
- 卫生保健: HIBC, GS1 DataBar, Pharmacode
- 后勤: MaxiCode, SSCC-18, ITF-14, GS1-128
- 二维码变体: Micro QR, iQR, rMQR
REST API 参数
“添加条形码”功能的完整参数列表 PDF REST API参数按类别组织,以便更好地理解和实施。
重要的: 标有星号 (*) 的参数为必填项,必须提供。 API 正常运作。
必需参数
| 范围 | 类型 | 描述 | 例子 |
|---|---|---|---|
| docName* | String | 输出 PDF 文件名带有 .pdf 扩展名 | output.pdf |
| docContent* | Base64 | 输入的内容 PDF 文件编码为 Base64 | JVBERi... |
| 文本* | String | 要编码到条形码中的文本。文本长度取决于条形码类型。 | PDF4me Barcode Sample |
| barcodeType* | String | 条形码格式类型。选项: qrCode, code128, dataMatrix, aztec, hanxin, pdf417, code39, ean13, ean8, upcA, upcE | qrCode |
| 页面* | String | 目标页面(例如,“1-3”、“全部”、“1”、“1,3,5”、“2-5”、“1,3,7-10”、“2-”) | 1-3 |
| alignX* | String | 水平对齐方式: 左边, 中心, 或者 正确的 | Right |
| alignY* | String | 垂直对齐: 顶部, 中间, 或者 底部 | Bottom |
| hideText* | Boolean | 隐藏条形码文本标签(true=隐藏,false=显示条形码旁边的文本) | true |
可选参数
| 范围 | 类型 | 描述 | 例子 |
|---|---|---|---|
| heightInMM | String | 条形码高度(毫米)(0 = 自动) | 40 |
| widthInMM | String | 条形码宽度(毫米)(0 = 自动) | 40 |
| marginXInMM | String | 水平边距(毫米) | 20 |
| marginYInMM | String | 垂直边距(毫米) | 20 |
| heightInPt | String | 条形码高度(磅) | 113 |
| widthInPt | String | 条形码宽度(磅) | 113 |
| marginXInPt | String | 水平边距(磅) | 57 |
| marginYInPt | String | 垂直边距(磅) | 57 |
| opacity | Integer | 透明度级别(0-100):0=完全不可见,100=完全不透明 | 100 |
| displayText | String | 文本位置: 多于 或者 以下 | below |
| showOnlyInPrint | Boolean | 仅在打印时显示(是)或同时在视图和打印时显示(否) | false |
| isTextAbove | Boolean | 条形码上方(是)或下方(否)的文字 | false |
| async | Boolean | 启用异步处理。 true, 这 API 返回 202 状态并提供轮询 URL 在 Location 标题 | true |
输出
这 PDF4me 添加条形码 PDF REST API 根据处理模式的不同,会返回不同的响应。 API 返回 PDF 作为一个 Base64-编码字符串 JSON 格式不是二进制数据。
- Success Response
- Asynchronous Processing
- Error Responses
- Response Format Details
同步处理(默认)
什么时候 async 未设置或已设置为 false, 这 API 立即处理请求:
状态码: 200 OK
Content-Type: application/json
回复正文:
{
"docName": "output.pdf",
"docContent": "JVBERi0xLjQKJeLjz9MKMSAwIG9iago8PAovVHlwZSAvQ2F0YWxvZwovUGFnZXMgMiAwIFIKPj4KZW5kb2JqCjIgMCBvYmoKPDwKL1R5cGUgL1BhZ2VzCi9LaWRzIFszIDAgUl0KL0NvdW50IDEKPD4KZW5kb2JqCjMgMCBvYmoKPDwKL1R5cGUgL1BhZ2UKL1BhcmVudCAyIDAgUgovTWVkaWFCb3ggWzAgMCA2MTIgNzkyXQovUmVzb3VyY2VzIDw8Ci9Gb250IDw8Ci9GMSA0IDAgUgo+Pgo+PgovQ29udGVudHMgNSAwIFIKPj4KZW5kb2JqCjQgMCBvYmoKPDwKL1R5cGUgL0ZvbnQKL1N1YnR5cGUgL1R5cGUxCi9CYXNlRm9udCAvSGVsdmV0aWNhCj4+CmVuZG9iago1IDAgb2JqCjw8Ci9MZW5ndGggNDQKPj4Kc3RyZWFtCkJUCi9GMSAxMiBUZgoxMDAgNzAwIFRkCihIZWxsbyBXb3JsZCkgVGoKRVQKZW5kc3RyZWFtCmVuZG9iagp4cmVmCjAgNgowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwMDAwMDkgMDAwMDAgbiAKMDAwMDAwMDA1NCAwMDAwMCBuIAowMDAwMDAwMTAxIDAwMDAwIG4gCjAwMDAwMDAxNzAgMDAwMDAgbiAKMDAwMDAwMDI0NCAwMDAwMCBuIAp0cmFpbGVyCjw8Ci9TaXplIDYKL1Jvb3QgMSAwIFIKPj4Kc3RhcnR4cmVmCjM0MQolJUVPRg=="
}
回复字段:
- docName (字符串):输出 PDF 文件名
- docContent (字符串): PDF 文件已添加条形码,并编码为 Base64 细绳
使用方法:
- 提取
docContent来自该领域的 JSON 回复 - 解码 Base64 获取二进制文件的字符串 PDF 数据
- 保存或处理 PDF 根据需要归档
例子 (JavaScript):
const response = await fetch(url, options);
const data = await response.json();
const pdfBytes = atob(data.docContent); // Decode Base64
// Save or process pdfBytes
异步处理
什么时候 async: true 已设定, API 异步处理请求:
状态码: 202 Accepted
响应头:
Location: https://api.pdf4me.com/api/v2/addbarcode/poll/12345-abcde-67890
投票过程:
- 提取
Location来自 202 响应的标头 - 民意调查 URL 使用 GET 请求
- 继续轮询,直到收到 200 OK 地位
- 最终回复包含相同的内容。 JSON 格式
docName和docContent(Base64)
轮询示例:
// Initial request returns 202 with Location header
const response = await fetch(url, options);
const location = response.headers.get('Location');
// Poll until complete
while (true) {
const pollResponse = await fetch(location, { headers: { 'Authorization': 'Basic ' + apiKey } });
if (pollResponse.status === 200) {
const data = await pollResponse.json();
// Process data.docContent (Base64 PDF)
break;
}
await new Promise(resolve => setTimeout(resolve, 2000)); // Wait 2 seconds
}
错误响应
这 API 退货标准 HTTP 错误代码及错误详情:
- 无效的请求参数
- 缺少必填字段
- 无效的 Base64 编码
docContent - 无效的条形码类型
- 无效的对齐值
- 无效或缺失 API 钥匙
- API 钥匙未正确 Base64 编码 Authorization 标题
- 丢失的
Authorization: 基本的标题
- 服务器端处理错误
- PDF 处理失败
- 条形码生成失败
错误响应格式:
{
"error": "Error message describing what went wrong"
}
回复格式详情
重要的: 这 API 总是返回 JSON绝非二元 PDF 直接传输数据。
响应结构:
{
"docName": "string", // Output PDF filename
"docContent": "string" // Base64-encoded PDF content
}
Content-Type 标题:
- 成功:
application/json - 这 PDF 嵌入为 Base64 字符串内部 JSON 回复
为什么 Base64?
- JSON-二进制数据的安全编码
- 易于传输 HTTP
- 与所有编程语言兼容
- 可以直接嵌入 JSON 不回避问题
解码 Base64 到 PDF:
JavaScript/Node.js:
const base64 = response.docContent;
const binary = atob(base64); // Browser
// OR
const binary = Buffer.from(base64, 'base64').toString('binary'); // Node.js
Python:
import base64
pdf_bytes = base64.b64decode(response['docContent'])
with open('output.pdf', 'wb') as f:
f.write(pdf_bytes)
C#:
byte[] pdfBytes = Convert.FromBase64String(response.docContent);
File.WriteAllBytes("output.pdf", pdfBytes);
请求示例
标题
Content-Type: application/json
Authorization: Basic YOUR_BASE64_ENCODED_API_KEY
笔记:
- 获得你的 API 钥匙来自 PDF4me 仪表板
- 这 API 关键必须是 Base64 编码后以“Basic”为前缀 Authorization 标题
- 例如:如果你的 API 关键是
abc123将其编码为 Base64 并使用Authorization: Basic YWJjMTIz
有效载荷
基本示例(仅必填字段):
{
"docName": "output.pdf",
"docContent": "JVBERi0xLjQKJeLjz9MKMSAwIG9iago8PAovVHlwZSAvQ2F0YWxvZwovUGFnZXMgMiAwIFIKPj4KZW5kb2JqCjIgMCBvYmoKPDwKL1R5cGUgL1BhZ2VzCi9LaWRzIFszIDAgUl0KL0NvdW50IDEKPD4KZW5kb2JqCjMgMCBvYmoKPDwKL1R5cGUgL1BhZ2UKL1BhcmVudCAyIDAgUgovTWVkaWFCb3ggWzAgMCA2MTIgNzkyXQovUmVzb3VyY2VzIDw8Ci9Gb250IDw8Ci9GMSA0IDAgUgo+Pgo+PgovQ29udGVudHMgNSAwIFIKPj4KZW5kb2JqCjQgMCBvYmoKPDwKL1R5cGUgL0ZvbnQKL1N1YnR5cGUgL1R5cGUxCi9CYXNlRm9udCAvSGVsdmV0aWNhCj4+CmVuZG9iago1IDAgb2JqCjw8Ci9MZW5ndGggNDQKPj4Kc3RyZWFtCkJUCi9GMSAxMiBUZgoxMDAgNzAwIFRkCihIZWxsbyBXb3JsZCkgVGoKRVQKZW5kc3RyZWFtCmVuZG9iagp4cmVmCjAgNgowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwMDAwMDkgMDAwMDAgbiAKMDAwMDAwMDA1NCAwMDAwMCBuIAowMDAwMDAwMTAxIDAwMDAwIG4gCjAwMDAwMDAxNzAgMDAwMDAgbiAKMDAwMDAwMDI0NCAwMDAwMCBuIAp0cmFpbGVyCjw8Ci9TaXplIDYKL1Jvb3QgMSAwIFIKPj4Kc3RhcnR4cmVmCjM0MQolJUVPRg==",
"text": "PDF4me Barcode Sample",
"barcodeType": "qrCode",
"pages": "1-3",
"alignX": "Right",
"alignY": "Bottom",
"hideText": true
}
高级示例(包含所有可选字段):
{
"docName": "output.pdf",
"docContent": "JVBERi0xLjQKJeLjz9MKMSAwIG9iago8PAovVHlwZSAvQ2F0YWxvZwovUGFnZXMgMiAwIFIKPj4KZW5kb2JqCjIgMCBvYmoKPDwKL1R5cGUgL1BhZ2VzCi9LaWRzIFszIDAgUl0KL0NvdW50IDEKPD4KZW5kb2JqCjMgMCBvYmoKPDwKL1R5cGUgL1BhZ2UKL1BhcmVudCAyIDAgUgovTWVkaWFCb3ggWzAgMCA2MTIgNzkyXQovUmVzb3VyY2VzIDw8Ci9Gb250IDw8Ci9GMSA0IDAgUgo+Pgo+PgovQ29udGVudHMgNSAwIFIKPj4KZW5kb2JqCjQgMCBvYmoKPDwKL1R5cGUgL0ZvbnQKL1N1YnR5cGUgL1R5cGUxCi9CYXNlRm9udCAvSGVsdmV0aWNhCj4+CmVuZG9iago1IDAgb2JqCjw8Ci9MZW5ndGggNDQKPj4Kc3RyZWFtCkJUCi9GMSAxMiBUZgoxMDAgNzAwIFRkCihIZWxsbyBXb3JsZCkgVGoKRVQKZW5kc3RyZWFtCmVuZG9iagp4cmVmCjAgNgowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwMDAwMDkgMDAwMDAgbiAKMDAwMDAwMDA1NCAwMDAwMCBuIAowMDAwMDAwMTAxIDAwMDAwIG4gCjAwMDAwMDAxNzAgMDAwMDAgbiAKMDAwMDAwMDI0NCAwMDAwMCBuIAp0cmFpbGVyCjw8Ci9TaXplIDYKL1Jvb3QgMSAwIFIKPj4Kc3RhcnR4cmVmCjM0MQolJUVPRg==",
"text": "PDF4me Barcode Sample",
"barcodeType": "qrCode",
"pages": "1-3",
"alignX": "Right",
"alignY": "Bottom",
"hideText": true,
"heightInMM": "40",
"widthInMM": "40",
"marginXInMM": "20",
"marginYInMM": "20",
"heightInPt": "113",
"widthInPt": "113",
"marginXInPt": "57",
"marginYInPt": "57",
"opacity": 100,
"displayText": "below",
"showOnlyInPrint": false,
"isTextAbove": false,
"async": true
}
代码示例
这 PDF4me 添加条形码 PDF REST API 提供多种编程语言的代码示例。请选择最适合您开发环境的语言:
- C#
- Java
- JavaScript
- Python
- Salesforce
- Google Script
- n8n
- AWS Lambda
行业应用案例及应用
- E-commerce & Retail
- Logistics & Shipping
- Healthcare & Medical
- Government & Compliance
- Education & Libraries
- Business & Finance
电子商务与零售应用案例
- 产品目录生成用于库存管理和产品识别的条形码
- 价格标签:通过条形码集成创建动态定价,实现自动结账
- 订单跟踪在货运单据上添加追踪码,以便实时监控包裹。
- 库存系统用于仓库管理和库存控制的批量条形码生成
物流与运输应用案例
- 运输标签:在发货单据上添加追踪条形码,以便追踪包裹。
- 包裹追踪为整个供应链中的每批货物生成唯一标识符
- 仓库管理创建用于货位和产品标识的条形码
- 供应链利用嵌入式代码追踪产品在整个分销网络中的流转情况
医疗保健应用案例
- 患者记录添加条形码以便快速识别患者身份和访问病史
- 药物管理生成用于药品追踪和剂量验证的条形码
- 医疗设备:在设备上贴上维护条形码标签,以便进行资产管理
- 实验室结果在检测结果文件中添加条形码,以实现安全的患者数据链接
政府及合规应用案例
- 身份证件在驾驶执照和护照上添加安全条形码以进行验证
- 税务文件生成税务表格跟踪代码和合规性监控
- 合规表格添加条形码以进行监管跟踪和审计追踪
- 公共记录为政府数据库创建可搜索的文档标识符
教育与图书馆应用案例
- 学生证生成用于学生身份识别和校园门禁的条形码
- 图书馆系统为书籍和资源添加条形码,以便实现自动借阅系统。
- 考试试卷创建测试文档和学术诚信的唯一标识符
- 校园服务跟踪整个教育设施的设备和资源使用情况
商业与金融应用案例
- 发票处理添加条形码以实现发票自动处理和付款处理
- 文档管理为业务文档和记录创建唯一标识符
- 资产追踪为各组织内的设备和资产生成条形码
- 审计跟踪添加合规文件和财务记录的跟踪代码