PDF 转 Base64 转换器
将任意 PDF 转换为 Base64——并获取可直接使用的 JSON 载荷、fetch 代码片段或 cURL 命令。全程在浏览器中运行,PDF 文件不会被上传。
拖拽 PDF 到此处或 点击选择文件
仅支持 PDF 文件 · 最大 25 MB
上传 PDF 文件后显示 Base64 输出
何时对 PDF 使用 Base64:Base64 最适合用于 JSON API 载荷中的小型 PDF 文件。对于大型 PDF,二进制上传或 multipart/form-data 通常更高效。
如何将 PDF 转换为 Base64
上传 PDF 文件
将 PDF 文件拖放到上传区域,或点击浏览文件。文件完全在浏览器中读取——不会向任何服务器发送任何数据。
选择输出格式
根据使用场景选择原始 Base64、Data URL、JSON 载荷、API fetch 代码片段或 cURL 命令。
复制或下载
点击「复制」将结果发送到剪贴板。对于较大的 PDF,请使用「下载 .txt」将完整输出保存为文件。
在 API 中使用 PDF Base64——代码示例
在实际 API 调用中发送 Base64 编码 PDF 的常用方式。
const fs = require('fs')
const pdfBuffer = fs.readFileSync('document.pdf')
const base64 = pdfBuffer.toString('base64')
await fetch('https://api.example.com/upload', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
filename: 'document.pdf',
mime: 'application/pdf',
encoding: 'base64',
data: base64,
}),
})import base64, requests
with open('document.pdf', 'rb') as f:
b64 = base64.b64encode(f.read()).decode()
requests.post('https://api.example.com/upload', json={
'filename': 'document.pdf',
'mime': 'application/pdf',
'encoding': 'base64',
'data': b64,
})B64=$(base64 -i document.pdf)
curl -X POST https://api.example.com/upload \
-H 'Content-Type: application/json' \
-d @- <<EOF
{
"filename": "document.pdf",
"mime": "application/pdf",
"encoding": "base64",
"data": "$B64"
}
EOFconst attachment = {
content: base64String, // your Base64 PDF
filename: 'invoice.pdf',
type: 'application/pdf',
disposition: 'attachment',
}
await sgMail.send({
to: '[email protected]',
from: '[email protected]',
subject: 'Your invoice',
text: 'Please find your invoice attached.',
attachments: [attachment],
})何时对 PDF 使用 Base64
最适合需要通过 JSON 传输或直接嵌入标记的小型 PDF。
REST API 文件上传
通过基于 JSON 的 API 发送 PDF,无需使用 multipart/form-data。Base64 可将文件直接内联到 JSON 请求体中。
邮件 API 附件
SendGrid、Mailgun 和 AWS SES 等服务支持直接在 JSON 载荷中接收 Base64 编码的 PDF 附件。
在 HTML 中嵌入 PDF
使用 Data URL 格式将 PDF 直接嵌入 HTML 的 object 或 iframe 标签中——无需单独托管文件。
存储到 JSON 数据库
将小型 PDF 以 Base64 字符串字段的形式直接嵌入 MongoDB 文档、Firebase 实时数据库或 DynamoDB 中。
常见问题
对 PDF 应该使用 Base64 还是二进制上传?
对于 JSON API 载荷中的小型 PDF(1 MB 以内),且不支持 multipart/form-data 或使用起来较复杂时,建议使用 Base64。对于较大的 PDF,通过 multipart/form-data 进行二进制上传或直接 PUT 到签名 URL 会更高效,且能避免约 33% 的体积开销。
PDF 的 Data URL 格式是什么?
PDF Data URL 以 data:application/pdf;base64, 为前缀,后跟 Base64 字符串。可用作 HTML object 或 embed 标签的 src 或 data 属性值。
可以在 HTML 中嵌入 Base64 PDF 吗?
可以。使用带 data="data:application/pdf;base64,..." 属性的 object 标签,或带 src="data:application/pdf;base64,..." 的 iframe。浏览器支持情况不一——Chrome 和 Firefox 支持良好;Safari 在某些情况下有限制。
Base64 编码会改变 PDF 内容吗?
不会。Base64 是无损的——它将二进制 PDF 字节转换为 ASCII 文本再还原,不做任何修改。解码后的文件与原始文件逐字节完全相同。
为什么 Base64 输出比原始 PDF 更大?
Base64 将 3 个字节编码为 4 个 ASCII 字符,增加约 33% 的体积开销。1 MB 的 PDF 会产生约 1.37 MB 的 Base64 文本。这是 Base64 编码的固有特性,无法避免。
PDF 文件会上传到服务器吗?
不会。所有编码均在浏览器中通过 File API 完成。您的 PDF 数据不会离开设备——断网后使用,工具依然正常运行。