0
이것은 내 코드입니다. itextsharp
에 익숙하지 않아이 반복을 만드는 데 약간의 도움이 필요합니다.단일 절차를 사용하여 C에서 다중 gridviews 인쇄
Print
버튼을 클릭하면 MySelectProcedure1
이 실행되고 테이블 결과는 DataTable
이라는 PDF로 다운로드됩니다.
protected void btnPrint_Click(object sender, EventArgs e)
{
Procedure("MySelectProcedure1");.
Procedure("MySelectProcedure2");
}
protected void Procedure(string Proc)
{
Connection con = new Connection();
SqlDataAdapter da;
DataTable dt;
con.con = new SqlConnection(con.str);
con.cmd.CommandText = Proc;
con.cmd.CommandType = CommandType.StoredProcedure;
da = new SqlDataAdapter();
da.SelectCommand = con.cmd;
dt = new DataTable();
try
{
con.con.Open();
da.Fill(dt);
print(dt);
}
catch (Exception ex)
{
}
finally
{
con.con.Close();
con.con.Dispose();
}
}
protected void print (DataTable dt)
{
GridView GridView1 = new GridView();
GridView1.AllowPaging = false;
GridView1.DataSource = dt;
GridView1.DataBind();
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "attachment;filename=DataTable.pdf");
Response.Cache.SetCacheability(HttpCacheability.NoCache);
StringWriter sw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
GridView1.RenderControl(hw);
StringReader sr = new StringReader(sw.ToString());
Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 10f, 0f);
HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
pdfDoc.Open();
htmlparser.Parse(sr);
pdfDoc.Close();
Response.Write(pdfDoc);
Response.End();
}
}
그러나, 같은 PDF에 MySelectProcedure1
을 인쇄하지 않습니다.
- 열기 PDF 문서를 :
이 제가 원하는 것입니다.
MySelectProcedure1
- 인쇄의
- 인쇄 몇 줄
- 인쇄 결과
MySelectProcedure2
의- 인쇄 결과 몇 가지 더 라인 닫기 및 저장 PDF 문서 내가이 작업을 수행하려면 어떻게
?
에게 문의하십시오. 'print to pdf'기능을 어떻게 재사용합니까? – divinediu
두 개의 데이터 테이블에 대한 코드를 편집했습니다. 더 많은 테이블을 추가하고 Stringreader를 추가 할 수 있습니다. – aydnahmet
Beautiful. 감사! – divinediu