Hi all,

I am having same prob  while printing pg # of # on pdf doc. Pls tell me
whats going wrong with following code

public override void OnEndPage(PdfWriter writer, Document document)
{
 
base.OnStartPage(writer, document);
Phrase header = new Phrase("**** THIS IS HEADER PART OF THIS PDF ****");
PdfPTable footer = new PdfPTable(2);
footer.TotalWidth = 575;
footer.DefaultCell.HorizontalAlignment = Element.ALIGN_LEFT;
footer.DefaultCell.Border = Rectangle.NO_BORDER;
Font Headerfont = FontFactory.GetFont(FontFactory.HELVETICA, 10,
Font.NORMAL, new Color(64, 64, 171));
footer.AddCell(new Phrase(new Chunk(" Visit Index", Headerfont)
.SetAction(new PdfAction(PdfAction.FIRSTPAGE))));
 
int intGoToPageNo = 3;
if (HttpContext.Current.Session["PageNoVisit"] != null)
{
if (HttpContext.Current.Session["PageNoVisit"] != "0")
{
intGoToPageNo =
Convert.ToInt32(HttpContext.Current.Session["PageNoVisit"].ToString());
}
}
footer.DefaultCell.HorizontalAlignment = Element.ALIGN_RIGHT;
PdfAction action = PdfAction.GotoLocalPage(intGoToPageNo, new
PdfDestination(PdfDestination.XYZ, -1, 10000, 0), writer);
footer.AddCell(new Phrase(new Chunk(" Visit Summary", Headerfont)
.SetAction(action)));
PdfContentByte cb = writer.DirectContent;
 
 
//ColumnText.ShowTextAligned(cb, Element.ALIGN_CENTER, header,
(document.Right - document.Left) / 2 + document.LeftMargin, document.Top +
10, 0);
footer.WriteSelectedRows(0, -1, (document.Right - document.Left) / 2 +
document.LeftMargin - 300, document.Top + 35, cb);
if (HttpContext.Current.Session["Footer"] == "Billing Summary ")
{
// document.SetMargins(document.Left, document.Right, document.Top + 300,
document.Bottom);
// document.SetPageSize(PageSize.A3);
Rectangle page = document.PageSize;
PdfPTable head = new PdfPTable(2);
head.TotalWidth = 376;
head.DefaultCell.Border = Rectangle.NO_BORDER;
string FilePath11 = HttpContext.Current.Server.MapPath("images") + "\\" +
"compex.bmp";
iTextSharp.text.Image imgDoc11 =
iTextSharp.text.Image.GetInstance(FilePath11);
imgDoc11.ScaleAbsoluteHeight(1);
imgDoc11.ScaleToFit(1,1);
imgDoc11.Alignment = iTextSharp.text.Image.ALIGN_CENTER |
iTextSharp.text.Image.ALIGN_TOP;
head.AddCell("");
// head.AddCell(new Phrase(new Chunk(" ")));
Font Headfont = FontFactory.GetFont(FontFactory.HELVETICA, 10, Font.BOLD |
Font.UNDERLINE, Color.BLACK);
head.DefaultCell.HorizontalAlignment = Element.ALIGN_CENTER;
head.AddCell(new Phrase(new Chunk(" BILLING SUMMARY ", Headfont)));
 
head.WriteSelectedRows(0, -1, (document.Right - document.Left) / 2 +
document.LeftMargin - 300, document.Top + 26, cb);
 
 
}
 
 
base.OnEndPage(writer, document);
PdfContentByte moCB = writer.DirectContent;
 
String sText;
Single fLen;
 
 
int intCount = 0;
if (HttpContext.Current.Session["PreFooter"] != null)
{
if (HttpContext.Current.Session["PreFooter"].ToString() !=
HttpContext.Current.Session["Footer"].ToString())
{
if (HttpContext.Current.Session["PreFooter"].ToString() == "Visit Index ")
{
int intPageNoVisit = writer.PageNumber;
intPageNoVisit = intPageNoVisit + 1;
HttpContext.Current.Session["PageNoVisit"] = intPageNoVisit.ToString();
 
}
document.ResetPageCount();
document.ResetFooter();
}
}
 
 
HttpContext.Current.Session["PreFooter"] =
HttpContext.Current.Session["Footer"].ToString();
 
sText = HttpContext.Current.Session["Footer"].ToString();
if (sText == "CPX1 ")
{
sText = "CPX ";
}
 
int iPageNumber = writer.PageNumber;
iPageNumber = iPageNumber + 1;
//intPageNo[i] = writer.PageNumber;
if (sText == "CPX ")
{
sText = "SRC ";
if(iPageNumber<10)
sText = sText + "00000" + iPageNumber.ToString();
else if((iPageNumber>=10) && (iPageNumber<100))
sText = sText + "0000" + iPageNumber.ToString();
else if ((iPageNumber >= 100) && iPageNumber < 1000)
sText = sText + "000" + iPageNumber.ToString();
else if ((iPageNumber >= 1000) && iPageNumber < 10000)
sText = sText + "00" + iPageNumber.ToString();
}
else
{
//sText = "";
//sText = sText + "00000" + iPageNumber.ToString();
if (sText == "Visit Index ")
sText = PrintPageNo("IDX ", iPageNumber);
if (sText == "Chronological Visit Summary ")
sText = PrintPageNo("VSM ", iPageNumber);
if (sText == "Billing Summary ") 
sText = PrintPageNo("BSM", iPageNumber);
}
//if(sText=="")
// if(iPageNumber==1)
// { 
// HttpContext.Current.Session["intVisitSummaryPageNo"] =
 
 
//fLen = moBF.GetWidthPoint(sText, 8);
//moCB.BeginText();
//moCB.SetFontAndSize(moBF, 8);
//moCB.SetTextMatrix(document.PageSize.Width - 100, 10);
//moCB.ShowText(sText);
//moCB.EndText();
cb.SaveState();
cb.SetTextMatrix(document.Right - 45, document.Bottom - 20);
cb.SetFontAndSize(moBF, 8);
cb.ShowText(sText + "of ");
cb.EndText();
cb.RestoreState();
 
 
 
//moTemplate = moCB.CreateTemplate(50, 50);
//moTemplate.BeginText();
//moTemplate.SetFontAndSize(moBF, 8);
//moTemplate.ShowText((writer.PageNumber - 1).ToString());
//moTemplate.EndText();
//moCB.AddTemplate(moTemplate, document.PageSize.Width - 90 + fLen, 30);
//moCB.BeginText();
//moCB.SetFontAndSize(moBF, 8);
//moCB.SetTextMatrix(280, 820);
//moCB.EndText();
//'---Line just above footer
//moCB.MoveTo(30, 40)
//moCB.LineTo(oDocument.PageSize.Width - 40, 40)
//moCB.Stroke()
 
 
 
 
}
 
public string PrintPageNo(string sText, int iPageNumber)
{
if (iPageNumber < 10)
sText = sText + "00000" + iPageNumber.ToString();
else if ((iPageNumber >= 10) && (iPageNumber < 100))
sText = sText + "0000" + iPageNumber.ToString();
else if ((iPageNumber >= 100) && iPageNumber < 1000)
sText = sText + "000" + iPageNumber.ToString();
else if ((iPageNumber >= 1000) && iPageNumber < 10000)
sText = sText + "00" + iPageNumber.ToString();
return sText;
}
 
// Public Sub OnOpenDocument( _
// ByVal writer As iTextSharp.text.pdf.PdfWriter, _
// ByVal document As iTextSharp.text.Document) _
// Implements iTextSharp.text.pdf.IPdfPageEvent.OnOpenDocument
// Try
// moBF = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252,
BaseFont.NOT_EMBEDDED)
// moCB = writer.DirectContent
// moTemplate = moCB.CreateTemplate(50, 50)
// Catch de As DocumentException
// Catch ioe As IOException
// End Try
//End Sub
 
public override void OnCloseDocument(PdfWriter writer, Document document)
{
base.OnCloseDocument(writer, document);
PdfContentByte cb = writer.DirectContent;
cb.BeginText();
cb.SetFontAndSize(moBF, 12);
cb.SetTextMatrix(document.Right - 5, document.Bottom - 20);
cb.ShowText(writer.PageNumber.ToString());
cb.EndText();
 
}



SALERNI ACHILLE wrote:
> 
> I need to put in each page of my Pdf a text as background, using
> getUnderContent, I read in archive that Illegal operation 'Tm' outside a
> text object is generated by a wrong position in code but I don't
> understand where I have to put it, because I don't have direct call to
> beginText and endText() . This error is generated just if i try to write
> in underContent.
>  
>  
>  
> ..............
> Document document = new Document();
>  
> try{
>  
> PdfWriter writer = PdfWriter.getInstance(document, new
> FileOutputStream(namePdf));
> Phrase p = null;
>  
> document.open();
>  
> Font courier8 = new Font(Font.COURIER, 8);
> Font courier8b = new Font(Font.COURIER, 8);
> courier8b.setStyle(Font.BOLD);
> bf= BaseFont.createFont("c:\\windows\\fonts\\arialuni.ttf",
> BaseFont.IDENTITY_H, true);
>  
> 
> Chunk c = new Chunk(riga_norm, courier8);//riga_norm is a string
> Chunk cb = new Chunk(riga_bold, courier8b);//riga_bold is a string
>  
>  p = new Phrase(10, "");
>  p.add(cb);
>  p.add(c);  
>  
> 
> if (newPage){
>     document.newPage();
>  
>  
> /////////////////////////////////////////////////////////////////////par
> t that produce the error
>      PdfContentByte under = writer.getDirectContentUnder();
>      under.setColorFill(new Color(220, 220, 220));
>      under.setFontAndSize(bf, 36);
>      under.showTextAligned(Element.ALIGN_LEFT, "TEXT", 50, 50, 55);
>      under.fill();
>     ////////////////////////////////////////////////////////////////////
> }
> else
>  document.add(new Paragraph(p)); 
>  
> }
> } catch (DocumentException de) {
>   System.err.println(de.getMessage());
>  } catch (IOException ioe) {
>   System.err.println(ioe.getMessage());
>  }
>  
>  
>  document.close();
>  
> .......................
>  
>  
>  
> Best regards
> Achille Salerni
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Illegal-operation-%27Tm%27-outside-a-text-object-using-DirectUnderContent-tp4539428p24841052.html
Sent from the iText - General mailing list archive at Nabble.com.


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
iText-questions mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/itext-questions

Buy the iText book: http://www.1t3xt.com/docs/book.php
Check the site with examples before you ask questions: 
http://www.1t3xt.info/examples/
You can also search the keywords list: http://1t3xt.info/tutorials/keywords/

Reply via email to