1

私のシナリオでは、画像を生成したり、javascript を使用してバーコードを作成したりしたくありません。ユーザーがプログラムを介してhtml(テンプレート)を編集すると、HTMLがPDFに変換されてプリンターに送信されますが、画像はコンバーターに問題を引き起こすため、JavaScriptはサポートされていません。

ここから Code 128 フォントをダウンロードしました: http://www.dafont.com/it/code-128.fontで、次のように使用します。

<font face="Code 128">code</font>

ただし、通常のテキスト (コード 128 バーコードではありません) はまだあります。

font face を使用してインストールされた Code 128 フォントを表示する方法について何か提案はありますか?

4

2 に答える 2

3

fontタグが古すぎて使えませんHTML5 では公式にはまったくサポートされていません。CSS のフェイスを使用する方が適切ですが、正しい名前を使用する必要があります。また、クライアント PC にフォントをインストールする必要があります。

バーコード フォントは一般的に利用できないため、CSS でフォ​​ント フェイスを宣言することもできます。これにより、サーバーからフォント ファイルがダウンロードされます。

@font-faceルールを使用して、CSS でフォ​​ントを定義できます。その後、このフェイスを CSS で使用できます。さまざまな形式のフォント ファイルが必要です。一般的な使用のために、woffそしてwoff2行います。任意のオンライン フォント コンバーターを使用して、ダウンロードした ttf ファイルを woff に変換できます。「ttf を woff に変換」をグーグル検索すると、ダースが表示されます。

@font-face {
  font-family: 'Code128';
  src:  url('code128.woff2') format('woff2'),
        url('code128.woff') format('woff');
}

その後、次のように CSS で使用できます。

.barcode {
  /* Use the name of the face that is installed, or the one you defined above */
  font-family: 'Code128'; 
}

次に、クラス名を使用してフォントを任意の要素に適用できます。

<span class="barcode">code</span>

CSSTricks.comには、より詳細で優れたブラウザー フォールバックを備えた優れたチュートリアルがあります。

于 2015-07-27T10:08:36.887 に答える
0
'0~9 and A~Z Barcode
Public Function GenerateCode128A(St As String) As String
    Dim sum As Integer = 0
    For i As Integer = 1 To Len(St)
        sum += ((Asc(Mid(St, i, 1)) - 32) * i)
    Next
    sum = (sum + 103) Mod 103
    If (sum >= 95) Then sum += 68
    Return Chr(203) & St & Chr(sum + 32) & Chr(206)
End Function

'0~9 and A~Z and a~z Barcode
Public Function GenerateCode128B(St As String) As String
    Dim sum As Integer = 0
    For i As Integer = 1 To Len(St)
        sum += ((Asc(Mid(St, i, 1)) - 32) * i)
    Next
    sum = (sum + 104) Mod 103
    If (sum >= 95) Then sum += 68
    Return Chr(204) & St & Chr(sum + 32) & Chr(206)
End Function

'0~9 Number Only Small width
Public Function GenerateCode128C(St As String) As String
    If Len(St) Mod 2 = 1 Then St = "0" + St
    Dim sum As Integer = 0
    Dim Stn As String = ""
    For i As Integer = 1 To Len(St) Step 2
        Dim ch As Int16 = Int16.Parse(Mid(St, i, 2))
        sum += (ch * ((i \ 2) + 1))
        If (ch >= 95) Then ch += 68
        Stn &= Chr(ch + 32)
    Next
    sum = (sum + 105) Mod 103
    If (sum >= 95) Then sum += 68
    Return Chr(205) & Stn & Chr(sum + 32) & Chr(206)
End Function
于 2020-05-02T21:41:10.050 に答える