Вопрос

Я создаю PDF программно, используя iTextSharp и генерацию PDFPTABLE.

В некоторых клетках мне нужно иметь гиперссылку.

Без гиперссылки я могу выровнять текст в ячейке горизонтально и вертикально, однако, когда я добавляю в кусок, который содержит мою гиперссылку, ячейка ослабляет свой свойство выравнивания.

Вот мой код ...

var webAddress = new Chunk(row["product_code"].ToString(), linkFont);
webAddress.SetAnchor(row["url"].ToString());

PdfPCell ProductCodeCell = new PdfPCell();
ProductCodeCell.AddElement(webAddress);
ProductCodeCell.VerticalAlignment = Element.ALIGN_MIDDLE;
ProductCodeCell.HorizontalAlignment = Element.ALIGN_CENTER;
ProductCodeCell.Padding = 3f;
table.AddCell(ProductCodeCell);
.

Может кто-нибудь помочь мне передать ссылку?

большое спасибо.

Это было полезно?

Решение

См. см. Это ответа для обсуждения на Text Mode Versus Composite .В основном, если вы используете AddElement(), вам нужно установить выравнивание на свой объект вместо самой камеры.Chunk не имеет выравнивания, однако, поэтому вам нужно обернуть свой кусок в то, что делает, который делает это генеракодицетагкод.

var table = new PdfPTable(1);

//Create our chunk with anchor
var webAddress = new Chunk("hello");
webAddress.SetAnchor("http://www.example.net/");

//Create a paragraph holding the chunk and set the alignment on _it_
var para = new Paragraph(webAddress);
para.Alignment = Element.ALIGN_CENTER;

//Create our cell
PdfPCell ProductCodeCell = new PdfPCell();

//Add the paragrph to it
ProductCodeCell.AddElement(para);

//Padding on the cell still works
ProductCodeCell.Padding = 30f;

//Add cell to table
table.AddCell(ProductCodeCell);
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top