tablas salto linea libreria horizontal ejemplos itext

salto - linea horizontal itext



¿Cómo insertar líneas en blanco en PDF? (11)

En lugar de usar:

document.add( Chunk.NEWLINE );

utilizar esta:

document.add(new Paragraph(""));

hace un espacio pequeño

Estoy creando un PDF usando iText. Quiero insertar líneas en blanco entre párrafos y tablas.

¿Cómo puedo conseguir esto?


Publiqué esto en otra pregunta, pero me parece que usar tablas con iTextSharp ofrece un gran nivel de precisión.

document.Add(BlankLineDoc(16)); public static PdfPTable BlankLineDoc(int height) { var table = new PdfPTable(1) {WidthPercentage = 100}; table = BlankLineTable(table, height); return table; } public static PdfPTable BlankLineTable(PdfPTable table, int height, int border = Rectangle.NO_BORDER) { var cell = new PdfPCell(new Phrase(" ")) { Border = border, Colspan = table.NumberOfColumns, FixedHeight = height }; table.AddCell(cell); return table; }

BlankLineTable se puede usar directamente cuando se trabaja con tablas


Puede activar una nueva línea insertando Chunk.NEWLINE en su documento. Aquí hay un ejemplo.

public static void main(String args[]) { try { // create a new document Document document = new Document( PageSize.A4, 20, 20, 20, 20 ); PdfWriter.getInstance( document, new FileOutputStream( "HelloWorld.pdf" ) ); document.open(); document.add( new Paragraph( "Hello, World!" ) ); document.add( new Paragraph( "Hello, World!" ) ); // add a couple of blank lines document.add( Chunk.NEWLINE ); document.add( Chunk.NEWLINE ); // add one more line with text document.add( new Paragraph( "Hello, World!" ) ); document.close(); } catch (Exception e) { e.printStackTrace(); } }

A continuación se muestra una captura de pantalla que muestra parte del PDF que produce el código anterior.


Puedes agregar línea vacía;

Paragraph p = new Paragraph(); // add one empty line addEmptyLine(p, 1); // add 3 empty line addEmptyLine(p, 3); private static void addEmptyLine(Paragraph paragraph, int number) { for (int i = 0; i < number; i++) { paragraph.add(new Paragraph(" ")); } }


Puedes probar una frase en blanco:

document.add(new Phrase("/n"));


Puedes usar "/ n" en Párrafo

document.add(new Paragraph("/n/n"));


También puedes usar

document.add(new Paragraph()); document.add(new Paragraph());

antes del separador, si está usando, está bien.


Tuve que agregar líneas en blanco después de una tabla y lo administro agregando muchos divs cuando lo necesito con un estilo CSS con la configuración de relleno superior, así. He usado un motor de plantilla (guion bajo) para recorrer la cantidad de líneas que necesito agregar.

<% var maxRow = 30; var pos = items.models.length; %> <% for( pos; pos < maxRow; pos++ ){ %> <div class="blankRow"></div> <% }; %>

Mi archivo css:

.blankRow:{ padding-top: 15px;}

Espero que esto te ayude


Y para insertar una línea en blanco entre las tablas, puede usar estos dos métodos

table.setSpacingBefore(); table.setSpacingAfter();


document.add(new Paragraph(""))

No es efectivo arriba, debe agregar una cadena en blanco, como esta:

document.add(new Paragraph(" "));


you can add Blank Line threw PdfContentByte class in itextPdf package com.pdf.test; import java.io.FileOutputStream; import java.io.IOException; import java.net.URL; import com.itextpdf.text.Chunk; import com.itextpdf.text.Document; import com.itextpdf.text.DocumentException; import com.itextpdf.text.Element; import com.itextpdf.text.Font; import com.itextpdf.text.Image; import com.itextpdf.text.Paragraph; import com.itextpdf.text.Phrase; import com.itextpdf.text.Rectangle; import com.itextpdf.text.pdf.PdfContentByte; import com.itextpdf.text.pdf.PdfPCell; import com.itextpdf.text.pdf.PdfPTable; import com.itextpdf.text.pdf.PdfWriter; public class Ranvijay { public static final String RESULT = "d:/printReport.pdf"; public void createPdf(String filename) throws Exception { Document document = new Document(); PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(filename)); document.open(); Font bold = new Font(Font.FontFamily.HELVETICA, 8f, Font.BOLD); Font normal = new Font(Font.FontFamily.HELVETICA, 8f, Font.NORMAL); PdfPTable tabletmp = new PdfPTable(1); tabletmp.getDefaultCell().setBorder(Rectangle.NO_BORDER); tabletmp.setWidthPercentage(100); PdfPTable table = new PdfPTable(2); float[] colWidths = { 45, 55 }; table.setWidths(colWidths); String imageUrl = "http://ssl.gstatic.com/s2/oz/images/logo/2x/googleplus_color_33-99ce54a16a32f6edc61a3e709eb61d31.png"; Image image2 = Image.getInstance(new URL(imageUrl)); image2.setWidthPercentage(60); table.getDefaultCell().setBorder(Rectangle.NO_BORDER); table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_RIGHT); table.getDefaultCell().setVerticalAlignment(Element.ALIGN_TOP); PdfPCell cell = new PdfPCell(); cell.setBorder(Rectangle.NO_BORDER); cell.addElement(image2); table.addCell(cell); String email = "[email protected]"; String collectionDate = "09/09/09"; Chunk chunk1 = new Chunk("Date: ", normal); Phrase ph1 = new Phrase(chunk1); Chunk chunk2 = new Chunk(collectionDate, bold); Phrase ph2 = new Phrase(chunk2); Chunk chunk3 = new Chunk("/nEmail: ", normal); Phrase ph3 = new Phrase(chunk3); Chunk chunk4 = new Chunk(email, bold); Phrase ph4 = new Phrase(chunk4); Paragraph ph = new Paragraph(); ph.add(ph1); ph.add(ph2); ph.add(ph3); ph.add(ph4); table.addCell(ph); tabletmp.addCell(table); PdfContentByte canvas = writer.getDirectContent(); canvas.saveState(); canvas.setLineWidth((float) 10 / 10); canvas.moveTo(40, 806 - (5 * 10)); canvas.lineTo(555, 806 - (5 * 10)); canvas.stroke(); document.add(tabletmp); canvas.restoreState(); PdfPTable tabletmp1 = new PdfPTable(1); tabletmp1.getDefaultCell().setBorder(Rectangle.NO_BORDER); tabletmp1.setWidthPercentage(100); document.add(tabletmp1); document.close(); } /** * Main method. * * @param args * no arguments needed * @throws DocumentException * @throws IOException */ public static void main(String[] args) throws Exception { new Ranvijay().createPdf(RESULT); System.out.println("Done Please check........"); } }