是否hyperref
存在允许hyperref
表单中的条形码字段的扩展包?
该barcode
字段的描述可以在 PDF ISO 文档第 45 页看到:ISO3200 条形码字段。
以下是生成二维码的尝试:
\RequirePackage{luatex85}
\documentclass{article}
\usepackage{hyperref}
\begin{document}
\begin{Form}
\TextField{Test}
\pdfannot{%
/P 3
/T(barcode)
/V(foo)
/DA(/Helv 10 Tf 0 0 0 rg)
/DataPrep 0
/MK<</BC[1 0 0]/BG[1 1 1]>>
/PDM<<
/ECC 1
/Symbology/QRCode
/Height 1.0
/Type/PaperMetaData
/Caption()
/Width 1.0
/XSymWidth 5
/XSymHeight 5
/Resolution 300.0
/Version 1
>>
/Subtype/Widget
/F 4
/FT/Tx
}
\end{Form}
\end{document}
但是,我遗漏了一些东西,因为这只会生成一个文本输入字段,而没有条形码。
答案1
您可以使用该包hyperbar
:
\ifx\pdfobj\undefined
\RequirePackage{luatex85}
\fi
\documentclass{article}
\usepackage{hyperref,hyperbar}
\begin{document}
\begin{Form}
\TextField{Test}
\BarcodeField[qr,width=3cm,height=3cm,tsv={Test}]{Some Name}
\end{Form}
\end{document}
此处表示对条形码中字段tsv={Test}
的值进行编码。如果要对静态值进行编码,可以使用,但我建议使用另一个生成静态条形码的包。Test
value={Some value}
遗憾的是,条形码表单字段不是ISO PDF 的一部分。问题中提到的规范不是 ISO PDF 文档,而是 PDF 1.7 第三套专有 Adobe 扩展的文档。虽然本文档中的一些功能已成为新 PDF/2 标准的一部分,但根据PDFlib。
作为 Adobe 扩展,PDF 查看器对这些字段的支持较差。在评论中,您提到可以在 PDF-XChangeViewer 中查看条形码,因此这可能是唯一支持条形码字段的免费阅读器。 虽然条形码字段可以在 Acrobat 商业版中使用,但该功能在 Adobe 的免费 Acrobat Reader 中被禁用。