如何使用 iTextSharp 在同一行中显示徽标及其描述?

How can I display a logo and its description in the same line using iTextSharp?

我想使用 itextSharp 在 pdf 中显示徽标及其描述。

示例: 徽标徽标描述

我下面的代码在不同的两行显示徽标及其描述

Document^ doc = gcnew Document(iTextSharp::text::PageSize::LETTER,10,10,42,32);
doc->Open();

// add image
iTextSharp::text::Image^ bmp = iTextSharp::text::Image::GetInstance("bts_logo.bmp");
bmp->ScaleToFit(50,100);
bmp->Border = iTextSharp::text::Rectangle::BOX;
bmp->BorderColor = iTextSharp::text::BaseColor::RED;
bmp->BorderWidth = 2;

doc->Add(bmp);
doc->Add(gcnew Phrase("Logo description", gcnew iTextSharp::text::Font(iTextSharp::text::Font::FontFamily::HELVETICA, 11, iTextSharp::text::Font::BOLD)));

我正在使用 Visual Studio 2012.

如果您想在 Image(例如图片)旁边添加 Phrase(例如描述),您通常会创建 PdfPTable:

PdfPTable table^ = gcnew PdfpTable(2);

这将创建一个默认显示边框的 table。您可以通过添加此行来更改它:

table->DefaultCell->Border = iTextSharp::text::Rectangle::NO_BORDER;

然后将图像和文本添加为​​单元格:

table->AddCell(bmp);
table->AddCell(phrase);

其中 bmpImage class 的实例,phrasePhrase class 的实例。

然后您将 table 添加到文档中:

doc->Add(table);

默认情况下table会有边框,但由于我不熟悉你使用的编程语言,你可能更清楚如何将默认单元格的边框更改为NO_BORDER比我还多