Pessoal gostaria de saber se há um modo de imprimir numero de páginas no IText desta forma:
1 de 10; 2 de 10 e etc até 10 de 10
e quando houve apenas 1 página imprimir no rodapé “Página única”
Alguém já fez algo assim?
valeu
Pessoal gostaria de saber se há um modo de imprimir numero de páginas no IText desta forma:
1 de 10; 2 de 10 e etc até 10 de 10
e quando houve apenas 1 página imprimir no rodapé “Página única”
Alguém já fez algo assim?
valeu
http://www.google.com/search?q=itext+page+number
Os tutoriais parecem bons:
http://itextdocs.lowagie.com/tutorial/directcontent/pageevents/index.php
http://itextdocs.lowagie.com/tutorial/rtf/features/pagenumber/index.php
[quote=Filipe Sabella]http://www.google.com/search?q=itext+page+number
Os tutoriais parecem bons:
http://itextdocs.lowagie.com/tutorial/directcontent/pageevents/index.php
http://itextdocs.lowagie.com/tutorial/rtf/features/pagenumber/index.php[/quote]
Hahaha vlw a intenção, mandar o google
Mas a solução que eu preciso é mais complicada, tive q criar um método e iterar as linhas somando um numero X de linhas eu adiciono uma pagina .
ai brother depois de inumeras tentativas consegui colocar isso no topo da pagina tenho que agradecer meus amigos Juliana e Rodrigo Vascaino por me ajudar…
o codigo é o seguinte, vc vai criar um classe assim,
[code]package creacorp.util;
import java.awt.Color;
import com.lowagie.text.Document;
import com.lowagie.text.ExceptionConverter;
import com.lowagie.text.Rectangle;
import com.lowagie.text.pdf.BaseFont;
import com.lowagie.text.pdf.PdfContentByte;
import com.lowagie.text.pdf.PdfPageEventHelper;
import com.lowagie.text.pdf.PdfTemplate;
import com.lowagie.text.pdf.PdfWriter;
public class Paginacao extends PdfPageEventHelper {
protected PdfTemplate total;
protected BaseFont helv;
protected PdfContentByte cb;
public void onOpenDocument(PdfWriter writer, Document document) {
total = writer.getDirectContent().createTemplate(100, 100);
total.setBoundingBox(new Rectangle(87,26,102,26));
try {
helv = BaseFont.createFont(BaseFont.HELVETICA,
BaseFont.WINANSI, BaseFont.NOT_EMBEDDED);
} catch (Exception e) {
throw new ExceptionConverter(e);
}
}
public void onEndPage(PdfWriter writer, Document document) {
cb = writer.getDirectContent();
cb.saveState();
String text = "Folha: " + writer.getPageNumber() + "/";
float textBase = document.top();
float textSize = helv.getWidthPoint(text, 8);
float adjust = helv.getWidthPoint("0", 80);
cb.beginText();
cb.setFontAndSize(helv, 8);
cb.setColorFill(new Color(0,0,0));
cb.setColorStroke(new Color(0,0,0));
cb.setTextMatrix(document.right() - textSize - adjust, textBase);
cb.showText(text);
cb.endText();
cb.addTemplate(total, document.right() - adjust , textBase);
cb.restoreState();
}
public void onCloseDocument(PdfWriter writer, Document document) {
total.beginText();
total.setFontAndSize(helv, 8);
total.setTextMatrix(0,0);
total.showText(String.valueOf(writer.getPageNumber() -1));
total.endText();
}
}
[/code]
vc vai setar o Evento dentro da classe de criacao do pdf la onde vc faz write bla bla bla
Document documento = new document…
writer.setEvent(new nomedaclasseAcima);
e GG
Att,
Alan Rodrigo.