My contemplations and diurnal novelties are publicized here


It’s been a nightmare if you application work fine at your development end and it’s unable to work under production environment; just due to do ACCESS LEVEL ISSUES.

I have to create pdf.

  1. Microsoft reporting was creating a trust level issue so it was rejected.
  2. Then I opt for itextsharp

Again ran into trust level problem.

Then I download the open source code from the itextsharp website and added

using System.Security;

[assembly:
AllowPartiallyTrustedCallers()] attribute inside AssemblyInfo.cs

Compiled the file and uploaded it to server.

Got a function from internet which I modified according to mine needs

protected void btnExportPDF_Click(object sender, EventArgs e)

{

Response.ContentType = “application/pdf”;

Response.AddHeader(“content-disposition”, “attachment;filename=BranchDataExport1.pdf”);

Response.Cache.SetCacheability(HttpCacheability.NoCache);

StringWriter sw = new StringWriter();

HtmlTextWriter hw = new HtmlTextWriter(sw);

// I need to get the data from HTML table so I used it’s rendercontrol.

tblMain.RenderControl(hw);

StringReader sr = new StringReader(sw.ToString());

Document pdfDoc = new Document(PageSize.A4, 50f, 50f, 50f, 50f);

HTMLWorker htmlparser = new HTMLWorker(pdfDoc);

PdfWriter.GetInstance(pdfDoc, Response.OutputStream);

pdfDoc.Open();

try

{

//Create a footer that will display page number

HeaderFooter footer = new HeaderFooter(new Phrase(“List -: ” + DateTime.Now.Day.ToString() + “-” + DateTime.Now.Month.ToString() + “-” + DateTime.Now.Year.ToString(), new Font(1, 10, 1, Color.BLACK)), false);

pdfDoc.Footer = footer;

//Parse Html

htmlparser.Parse(sr);

}

catch (Exception ex)

{

//Display parser errors in PDF.

//Parser errors will also be wisible in Debug.Output window in VS

Paragraph paragraph = new Paragraph(“Error! ” + ex.Source + Environment.NewLine + ex.Message + Environment.NewLine + ex.StackTrace);

paragraph.SetAlignment(“center”);

Chunk text = paragraph.Chunks[0] as Chunk;

if (text != null)

{

text.Font.Color = Color.RED;

}

pdfDoc.Add(paragraph);

}

finally

{

pdfDoc.Close();

}

Response.Write(pdfDoc);

Response.End();

}

And this generate pdf for. Also I ran into different sort of problem which I didn’t mention like

Web.Permission…. That was due to the inclusion of file.

Some pdf page related error etc etc.

This whole took mine so much time, so I want you guys don’t waste time on this issue. BEST OF LUCK

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: