4

iTextSharpを使用して配送ラベルを作成しています。

私が行っているのは、PDFでラベルを作成して、好きなようにフォーマットしてから、サーマルプリンターに送信できるようにすることです。

私の問題は、私のラベルのサイズが4x6(標準の配送ラベル)であるということです。これらは、UPSおよびFedexパッケージに表示されるラベルです。PDFを4x6インチ以内に正確に収めるにはどうすればよいですか?現在、通常のA4ドキュメントで印刷しています。

私は以下を使用しています:

Dim document As New Document()
document.SetPageSize(PageSize.A4_LANDSCAPE)
4

3 に答える 3

10

カスタム ページ サイズを設定します。

Dim pgSize As New iTextSharp.text.Rectangle(myWidth, myHeight) 
Dim doc As New iTextSharp.text.Document(pgSize, leftMargin, rightMargin, topMargin, bottomMargin)

iTextSharp は 1 インチあたり 72 ピクセルを使用するため、目的のページ サイズの高さと幅がインチでわかっている場合は、それらの数値に 72 を掛けて myWidth と myHeight を取得します。

https://stackoverflow.com/a/2503476/102937

于 2012-12-28T22:32:44.263 に答える
2

生のプリンター言語を作成することをお勧めします。感熱式バーコード プリンタはすべてネイティブ言語を備えています。ZPLII (Zebra Printer Language 2) や DPL (Datamax Printer Language) などの言語。それらを文字列として作成し、プリンターに直接渡すことができます。プリンタ メーカーの Web サイトを検索すると、使用しているプリンタのプリンタ言語マニュアルをすばやく見つけることができます。

この方法の大きな利点は、コントロールとスピードです。Zebras および Datamax プリンターは実際にはページ サイズを気にしないため、必要なサイズと方向で必要なデータをレンダリングすることに集中できます。

また、プリンターが持つ追加のロジックを利用できる場合もあります。これは、連番を持つシリアル化されたタグに特に役立ちます。プリンターに送信される 1 つの文字列で、数十から数百のラベルを作成できます。多くの熱バーコード印刷を行う場合は、これらのプリンターが母国語で備えている能力を理解することを強くお勧めします.

于 2012-12-29T05:31:05.577 に答える
1

ドキュメント サイズを設定するには、次のように使用します。

 Document doc = new Document(new iTextSharp.text.Rectangle(295f, 420f), 0f, 0f, 0f, 0f);
    PdfWriter.GetInstance(doc, Response.OutputStream);
                            doc.Open();
    -----------

    -----
    ---------

フォントの場合、コードは次のとおりです:-

iTextSharp.text.Font myFont1 = new iTextSharp.text.Font() { Size = 4.5f };

PdfPTable header1 = new PdfPTable(2);

header1.AddCell(new PdfPCell(new Phrase("", myFont1 )) { UseAscender = true, PaddingTop = 0, Border = 0, HorizontalAlignment = 0 });

将来の使用に備えて、他のプロパティを追加しました。

ハッピーコーディング!!

于 2012-12-29T06:38:38.887 に答える