iTextSharp desenha uma linha sob o texto (título) em um local aleatório em uma página

StackOverflow https://stackoverflow.com/questions/6371537

  •  28-10-2019
  •  | 
  •  

Pergunta

Alguém sabe como posso desenhar uma linha sob um título (uma linha curta de texto em negrito) que pode estar localizada em um local aleatório em uma página.

por exemplo,

My Heading 1
---------------------------------------------- 

Some random paragraph


My Heading 2
----------------------------------------------

Posso fazer isso como fiz acima, usando uma linha de sublinhados _ , mas para obter a linha em qualquer lugar perto do título, tenho que definir o tamanho da fonte em 2, o que resulta em irregular linha feia.

Também posso adicionar dois blocos um sobre o outro (um com o título e outro com _ ), semelhante ao primeiro exemplo neste artigo http://www.mikesdotnetting.com/Article/82/iTextSharp-Adding-Text -with-Chunks-Phrases-and-Paragraphs usando o mesmo tamanho de fonte, mas parece que isso só funciona no topo da página, uma vez que adiciono outros parágrafos e tento fazê-lo no meio da página dois blocos se separam com uma quebra de linha clara no final do primeiro bloco.

Parece que você pode desenhar linhas no iTextSharp, mas não tenho ideia de como calcular as coordenadas, pois todos os exemplos que vi usam esse método para colocar uma linha na parte superior ou inferior da página em um local fixo.

Qualquer ajuda muito apreciada.

Saúde Rob

Foi útil?

Solução

O objeto LineSeperator pode ser o que você está procurando.Embrulhe-o com um pedaço e coloque-o onde for necessário.

Aqui está um separador de linha de amostra:

Chunk linebreak = new Chunk(new LineSeparator(4f, 100f, colorGrey, Element.ALIGN_CENTER, -1));
doc.Add(linebreak);

Outras dicas

Eu sei que esta é uma postagem antiga, mas talvez isso ajude alguém.

//Create Chunk for underline
Chunk chkHeader = new Chunk("My Title", fnt13Bold);
chkHeader.SetUnderline(1f, -2f);
//Add Chunk to paragraph
Paragraph pHeader = new Paragraph(chkHeader);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top