1

Icard が表示された PDF ファイルを作成したいと考えています。

コードは次のとおりです。

iTextSharp.text.Font custFont = new iTextSharp.text.Font() { Size=6f};
int borderSize = 1;
Document IcardDoc = new Document(PageSize.HALFLETTER);
PdfWriter.GetInstance(IcardDoc, Response.OutputStream);
IcardDoc.Open();

PdfPTable icardTable = new PdfPTable(2);
iTextSharp.text.Image logoImage = iTextSharp.text.Image.GetInstance(Server.MapPath("~/images/logo.jpg"));
logoImage.WidthPercentage = 15f;
PdfPCell cell = new PdfPCell(logoImage, false);
cell.PaddingLeft = 10f;
cell.PaddingTop = 10f;
cell.PaddingBottom = 10f;
cell.PaddingRight = 10f;
cell.Colspan = 2;
cell.Border = 0;
cell.HorizontalAlignment = 1;
icardTable.AddCell(cell);
icardTable.AddCell(new PdfPCell(new Phrase("Name:", custFont)) { Border = borderSize });
icardTable.AddCell(new PdfPCell(new Phrase(student.firstname + " " + student.lastname, custFont)) { Border = borderSize });

印刷原稿のサイズは縦8.5cm、横5.4cmとなります。

上記のコードがページ上のテーブルと適切なサイズに適合していないため、これに対する解決策はありますか?

他の形式でも、word などのように機能します。

4

2 に答える 2

1

解決策を見つけました:

Document IcardDoc = new Document(new Retangele(200f, 315f),35f,35f,0f,0f);

それに応じてテーブルの幅を調整します。

PdfPTable icardTable = new PdfPTable(2);
icardTable.WidthPercentage = 140f;

テーブルをページに正確に合わせるには、長方形widthを減らしてからテーブルを増やしWidthPercentage、その逆です。Documentクラスコンストラクターで 35f として定義されている左右のマージンにも注意する必要があります

これは私にとってはうまくいきました。

于 2012-06-13T10:30:56.387 に答える