【问题标题】:Create pdf documents with 2D barcodes from .NET从 .NET 创建带有二维条码的 pdf 文档
【发布时间】:2011-01-30 08:37:02
【问题描述】:

如何从 .NET 应用程序创建带有二维条码(例如 QR 码 http://en.wikipedia.org/wiki/QR_Code)的 pdf 文档?

我将(可能)使用 iTextSharp 创建文档。绘制二维条码应该使用哪个组件?

【问题讨论】:

    标签: .net pdf barcode


    【解决方案1】:

    PDFFlow library 支持包括二维码在内的条码(变体 1-40,提供四级纠错)。

    在您的 C# 项目中,添加对来自 nuget.org 的免费库 Gehtsoft.PDFFlowLib.Barcodes 的引用。

    在段落中添加二维码示例:

    DocumentBuilder.New()
        .AddSection()
            .AddParagraph()
                .AddQRCode("Some information for sharing",
                    QRCodeEncodingMethod.Binary,
                    QRCodeErrorCorrection.M,
                    QRCodeVersion.Version4,
                    4) .ToDocument()
        .Build("Result.pdf");
    

    将带有 URL 的二维码添加到表格单元格的示例:

            var textUrl = "https://www.nuget.org/packages/Gehtsoft.PDFFlowLib/";
            DocumentBuilder.New()
                .AddSection()
                    .AddTable()
                        .SetWidth(230)
                        .AddColumnToTable()
                        .AddColumnToTable()
                        .AddRow()
                            .AddCellToRow("QR-code in table cell")
                            .AddCell()
                                .AddQRCodeUrl(textUrl)
                                    .SetWidth(150)
            .ToDocument()
                .Build("Result.pdf");
    

    这是一个包含许多示例的教程:AddingQRCodes

    请注意,Gehtsoft.PDFFlowLib.Barcodes 库是 PDFFlow library 的扩展,用于生成 PDF 文档。

    【讨论】:

      【解决方案2】:

      您可以使用Aspose barcodeAspose pdf 组件轻松创建一系列带有条形码的文档。

      论坛demonstrating examples 中有很多关于如何执行此操作的示例。此外,如果将来需要,您还可以使用这些组件从原始 PDF 中提取条形码值。

      【讨论】:

        【解决方案3】:

        Google 说 http://sourceforge.net/projects/pdf417lib/,尽管它自 2005 年以来就没有更新过并且处于测试阶段。如果您使用它,请务必报告。

        (感觉二维条码很不寻常,可能是因为通常只有一个 ID 就足够了,而且一维扫描仪要便宜得多。)

        【讨论】:

          【解决方案4】:

          iTextSharp 支持多种条码标准(根据http://itextsharp.sourceforge.net/tutorial/ch09.html 的教程)

          * Barcode39:  code 39 and code 39 extended
          * Barcode128: code 128 and the special encoding UCC/EAN-128
          * BarcodeEAN: EAN13, EAN8, UPCA, UPCE, and EAN with supplemental 5, EAN with supplemental 5, EAN with supplemental 2
          * BarcodeInter25: interleaved 2 of 5
          * BarcodePostnet: postnet and planet
          

          【讨论】:

          • 哎呀......这让我的答案很糟糕:/
          • 是的,几乎完美的答案:)
          • Dan 的答案可能是最好的,因为 2D 没有原生 iTextSharp 方法
          【解决方案5】:

          您可以使用DevExpress Reports 来做到这一点,他们在报告中支持二维条码,还支持将报告导出为多种格式,如 PDF。

          【讨论】:

            【解决方案6】:

            您不能用条形码创建一个图像并将其嵌入到 PDF 中吗?

            【讨论】:

              猜你喜欢
              • 2018-04-03
              • 1970-01-01
              • 2015-03-07
              • 1970-01-01
              • 2011-12-02
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多