4

PDFドキュメントでCASS証明書付きアドレスを提供するように要求されました。これには、証明された郵送先住所の使用が含まれ、バーコードを使用して印刷する必要があります。

どうすればそのようなバーコードを生成できますか?すでにこれを行っているPHPライブラリが存在する可能性がありますか?

4

4 に答える 4

5

覚えておくべきことの1つは、CASS認定アドレスの認定は95日後に期限切れになるということです。これは、少なくとも約3か月ごとに(またはクライアントの)データベースを再認証する必要があることを意味します。これがないと、IMBは12桁の配信ポイントバーコードを含む多数の要素で構成されているため、IMB(インテリジェントメールバーコード)を生成できません。

あなたはすでにあなたの住所を証明する場所を持っていると思いますが、このStack Overflowの質問を読んで、証明され標準化された住所を持っていない人のために、Google検索を行って少数のプロバイダーを見つけることができます。

完全な開示のために、私はSmartyStreetsの創設者です。IMBの派生元である12桁の配信ポイントバーコードを返すアドレス検証と妥当性確認を提供します。アドレスの検証と標準化に関連する追加のコードについては、個人的に回答させていただきます。

于 2011-10-13T01:19:25.297 に答える
5

tc-lib-barcodehttps://github.com/tecnickcom/tc-lib-barcode )PHPソフトウェアライブラリを使用すると、「IMB-インテリジェントメールバーコード-Onecode-USPS-B-3200」バーコードを生成できます。

ソースコードはPSR-2に完全に準拠しており、 Composerを使用してPHPプロジェクトに簡単に追加できます。

元のコードはTCPDFから移植およびリファクタリングされており、すでに数十億のドキュメントで使用されています。

于 2015-06-30T07:43:27.707 に答える
3

USPSには、すべての主要なプラットフォームにダウンロードできるライブラリとヘルパーコードがあります。PHPクラスはありませんが、OSにアクセスしてコードを生成することはできexecます。system

于 2011-02-25T12:26:47.373 に答える
0

私はここで他のいくつかの答えからいくつかのアプローチを試しましたが、それらは私にとってはうまくいきませんでした:

  1. USPSの公式ライブラリとヘルパーコードはあまり明確ではありません。また、プラットフォームに依存するため、Excelやその他のデスクトップアプリでメールのマージを行う場合に最も役立つようです。PHP Webアプリと統合しようとしている場合、これが非常に良いルートかどうかはわかりません。

  2. tc-lib-barcodeは公式のUSPSフォントを使用していないようです。並べて比較すると正しく表示されません。このツールを使用してバーコードを検証しようとすると、失敗しました。

代わりに、このIMBConverterクラスを使用することになりました。USPS公式フォントUSPSIMBStandardをダウンロードしてから、そのフォントを使用してバーコードハッシュを表示できます(fonts / scalable / trueTypeフォルダーにある必要があります)。バーコードハッシュを生成するには、最初にコードを生成する必要があります。これは、USPSからのこのPDFの2ページに概説されています。コード(例:0027012345678955555590210)を取得したら、コンバータークラスを介して実行できます。

$barcode = IMB::Convert('0027012345678955555590210');

これにより、TFDAAFAADDTDDFDFDATADDDATDAFAFDATADADADFATAFAFAFDADATFTFDAFDTADDTが返されます。次に、USPSIMBStandardフォントを使用してこれをPDFに直接挿入するか、HTMLで表示できます。

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

USPSバーコードの例

バーコードハッシュを生成する場合、公式のUSPSエンコーダーと比較してIMB::Convertがどれほど正確であるかは不明です。いくつかの組み合わせをテストしましたが、すべて一致しているようです。公式のUSPSエンコーダーを使用する場合は、次のようにコマンドラインで実行できます。

$ IMBshell 0027012345678955555590210
于 2019-01-06T21:54:11.180 に答える