如何生成智能邮件®;通过PHP的条形码(OneCode)

如何生成智能邮件®;通过PHP的条形码(OneCode),php,generator,barcode,usps,Php,Generator,Barcode,Usps,我要求在PDF文档中提供CASS认证地址。这涉及使用经认证的邮寄地址,并且需要使用 如何生成这样的条形码?可能存在已经实现这一功能的PHP库?USPS提供了可供所有主要平台下载的功能。他们没有PHP类,但您可以exec或system输出到操作系统以生成代码。需要记住的一点是,CASS认证地址的认证在95天后过期。这意味着您需要至少每三个月重新验证一次您(或您客户)的数据库。否则,您将无法生成IMB(智能邮件条形码),因为IMB由许多元素组成,包括12位的投递点条形码 我可以想象你已经有了一个地方

我要求在PDF文档中提供CASS认证地址。这涉及使用经认证的邮寄地址,并且需要使用


如何生成这样的条形码?可能存在已经实现这一功能的PHP库?

USPS提供了可供所有主要平台下载的功能。他们没有PHP类,但您可以
exec
system
输出到操作系统以生成代码。

需要记住的一点是,CASS认证地址的认证在95天后过期。这意味着您需要至少每三个月重新验证一次您(或您客户)的数据库。否则,您将无法生成IMB(智能邮件条形码),因为IMB由许多元素组成,包括12位的投递点条形码

我可以想象你已经有了一个地方来证明你的地址,但是对于那些阅读了这个堆栈溢出问题并且没有经过认证和标准化的地址的人来说,你可以通过谷歌搜索找到一些提供商

为了充分披露,我是SmartyStreets的创始人。我们提供的是12位交付点条形码,IMB是从该条形码派生的。我很乐意亲自回答与地址验证和标准化相关的任何其他代码。

PHP()软件库允许您生成“IMB-智能邮件条形码-Onecode-USPS-B-3200”条形码

源代码完全符合PSR-2标准,可以使用将其轻松添加到PHP项目中


原始代码已经从数十亿个文档中移植和重构,并已在其中使用。

我尝试了一些其他答案中的方法,但它们对我不起作用:

  • 来自USPS的官方库和助手代码不是很清楚。它们还依赖于平台,如果您计划在Excel或其他桌面应用程序中进行邮件合并,它们似乎最有用。如果您试图与PHP web应用程序集成,我不确定这是一个非常好的途径

  • 它似乎没有使用正式的USPS字体。当并排比较时,它看起来不正确,当我尝试使用验证条形码时,它失败了

  • 结果我用了。您可以下载,然后使用字体显示条形码哈希(它应该位于fonts/scalable/trueType文件夹中)。要生成条形码哈希,首先需要生成一个代码。第2页(共页)对此进行了概述。一旦有了代码(例如002701234567895555590210),就可以通过converter类运行它:

    $barcode = IMB::Convert('0027012345678955555590210');
    
    这将返回TFDAAFAADDTDDFDATADADDAFFDATADAFDADAFTFDDTADDT。然后,您可以使用USPSIMB标准字体将其直接注入PDF,或以HTML格式显示

    <p style="font-family:'USPSIMBStandard'; color:#000; font-size: 100px;"><?php echo $barcode; ?></p>
    
    $ IMBshell 0027012345678955555590210