2014-10-23 3 views
0

다음 표가 있으며 PDF로 다운로드해야합니다.Pdf에서 디스플레이/다운로드 테이블

이 방법은 pdf로 다운로드되지만 테이블의 테두리는 표시하지 않습니다.

감사합니다.

보호 무효 Button2_Click (개체 보낸 사람, EventArgs입니다 전자) {

Response.ContentType = "application/pdf"; 
    Response.AddHeader("content-disposition", "attachment;filename=Panel.pdf"); 
    Response.Cache.SetCacheability(HttpCacheability.NoCache); 

    StringWriter stringWriter = new StringWriter(); 
    HtmlTextWriter htmlTextWriter = new HtmlTextWriter(stringWriter); 

    Repeater_AK.RenderControl(htmlTextWriter); 
    StringReader stringReader = new StringReader(stringWriter.ToString()); 
    Document Doc = new Document(PageSize.A4, 160, 160, 20, 20); 

    HTMLWorker htmlparser = new HTMLWorker(Doc); 
    PdfWriter.GetInstance(Doc, Response.OutputStream); 

    Doc.Open(); 
    htmlparser.Parse(stringReader); 
    Doc.Close(); 
    Response.Write(Doc); 
    Response.End(); 

} 

HTML

<table cellspacing="0" style="border-style:solid; font-family:Calibri; border-width:thin;" > 
            <tr style="height: 26.4pt;"> 
         <td align="center" colspan="6" 
          style="padding-left:5.4pt; padding-right:5.4pt;"> 
          <asp:Label ID="lbl_title" runat="server" 
           Style="font-weight: bold; font-size:7pt; padding-left:5.4pt; padding-right:5.4pt;">ALASKA INSURANCE IDENTIFICATION CARD</asp:Label> 
         </td> 
        </tr> 

        <tr style="height: 8.4pt;"> 
         <td colspan="2" 
          style="max-width:98.1pt; padding-left:5.4pt; padding-right:5.4pt; padding-bottom:0px;"> 
          <asp:Label ID="lbl_Company_NAIC_Number" runat="server" 
           Style="font-weight:bold; font-size:7pt;" Text="Company NAIC Number"></asp:Label> 
         </td> 
         <td style="width:43.2pt; padding-left:5.4px; padding-right:5.4pt; padding-bottom:0px;"> 
          <asp:Label ID="lbl_Commercial" runat="server" 
           Style="font-weight:bold; font-size:7pt;" Text="Commercial"></asp:Label> 
         </td> 
         <td style="width:20.7pt; padding-left:5.4pt; padding-right:5.4pt; padding-bottom:0px;"> 

         </td> 
         <td style="width:38.7pt; padding-left:5.4pt; padding-right:5.4pt; padding-bottom:0px;"> 
          <asp:Label ID="lbl_Personal" runat="server" Style="font-weight:bold; font-size:7pt;" Text="Personal"></asp:Label> 
         </td> 
         <td style="width:16.2pt; padding-left:5.4pt; padding-right:5.4pt; padding-bottom:0px;"> 

         </td> 
        </tr> 

        <tr valign="top"> 
         <td colspan="2" style="width:108.9pt; padding-left:5.4pt; padding-right:5.4pt;"> 
          <asp:Label ID="lbl_Company_NAIC_Number_out" runat="server" Style="font-size:5pt;" Text="31089"></asp:Label> 

         </td> 
         <td colspan="4" 
          style="width:162pt; padding-left:5.4pt; padding-right:5.4pt;"> 
          <asp:Label ID="lbl_empty2" runat="server" 
           Style="font-weight:bold; font-size:7pt;" Text=""></asp:Label> 
         </td> 
        </tr> 

        <tr style="height: 21.6pt;" valign="top"> 
         <td colspan="2" 
          style="width:108.9pt; padding-left:5.4pt; padding-right:5.4pt;"> 

          <asp:Label ID="lbl_Company_Name_and_Address" runat="server" 
           Style="font-weight:bold; font-size:7pt;" Text="Company Name and Address"></asp:Label> 
           <p style="margin:0px;"> 
           </p> 
          <asp:Label ID="lbl_Company_Name_and_Address_out" runat="server" Style="font-size:5pt;" Text="Repwest Insurance Company"></asp:Label> 

         </td> 
         <td colspan="4" 
          style="width:162pt; padding-left:5.4pt; padding-right:5.4pt;"> 
          <asp:Label ID="lbl_Company_Phone_Number" runat="server" 
           Style="font-weight:bold; font-size:7pt;" Text="Company Phone Number"></asp:Label> 
           <p style="margin:0px;"> 
           </p> 
           <asp:Label ID="lbl_Company_Phone_Number_out" runat="server" 
           Style="font-size:5pt;" Text="1-800-858-0317"></asp:Label> 
         </td> 
        </tr> 

        <tr style="height: 21.6pt;" valign="top"> 
         <td colspan="2" 
          style="width:108.9pt; padding-left:5.4pt; padding-right:5.4pt;"> 
          <asp:Label ID="lbl_Policy_Number" runat="server" 
           Style="font-weight:bold; font-size:7pt;" Text="Policy Number"></asp:Label> 
           <p style="margin:0px;"> 
           </p> 
           <asp:Label ID="lbl_Policy_Number_out" runat="server" 
           Style="font-size:5pt;" Text="PolicyPlaceHolder"></asp:Label> 
         </td> 
         <td colspan="2" 
          style="width:85.5pt; padding-left:5.4pt; padding-right:5.4pt;"> 
          <asp:Label ID="lbl_Effective_Date" runat="server" 
           Style="font-weight:bold; font-size:7pt;" Text="Effective Date"></asp:Label> 
           <p style="margin:0px;"> 
           </p> 
            <asp:Label ID="lbl_Effective_Date_out" runat="server" 
           Style="font-size:5pt;" Text="4/1/2015"></asp:Label> 
         </td> 
         <td colspan="2" 
          style="width:76.5pt; padding-left:5.4pt; padding-right:5.4pt;"> 
          <asp:Label ID="lbl_Expiration_Date" runat="server" 
           Style="font-weight:bold; font-size:7pt;" Text="Expiration Date"></asp:Label> 
           <p style="margin:0px;"> 
           </p> 
           <asp:Label ID="lbl_Expiration_Date_out" runat="server" 
           Style="font-size:5pt;" Text="3/31/2016"></asp:Label> 
         </td> 
        </tr> 

        <tr style="height: 22.2pt;" valign="top"> 
         <td style="width:50.4pt; padding-left:5.4pt; padding-right:5.4pt;"> 
          <asp:Label ID="lbl_Year" runat="server" 
           Style="font-weight:bold; font-size:7pt;" Text="Year"></asp:Label> 
            <p style="margin:0px;"> 
           </p> 
           <asp:Label ID="lbl_Year_out" runat="server" 
           Style="font-size:5pt;" Text='<%# Eval("YEAR") %>'></asp:Label> 
         </td> 
         <td style="width:58.5pt; padding-left:5.4pt; padding-right:5.4pt;"> 
          <asp:Label ID="lbl_Make_Model" runat="server" 
           Style="font-weight:bold; font-size:7pt;" Text="Make/Model"></asp:Label> 
            <p style="margin:0px;"> 
           </p> 
           <asp:Label ID="lbl_Make_Model_out" runat="server" 
           Style="font-size:5pt;" Text='<%# Eval("MODEL") %>'></asp:Label> 
         </td> 
         <td colspan="4" 
          style="width:162pt; padding-left:5.4pt; padding-right:5.4pt;"> 
          <asp:Label ID="lbl_VIN" runat="server" Style="font-weight:bold; font-size:7pt;" 
           Text="Vehicle Identification Number"></asp:Label> 
            <p style="margin:0px;"> 
           </p> 
           <asp:Label ID="lbl_VIN_out" runat="server" Style="font-size:5pt;" 
           Text='<%# Eval("VIN") %>'></asp:Label> 
         </td> 
        </tr> 

        <tr style="height: 37.8pt;" valign="top"> 
         <td colspan="2" 
          style="width:108.9pt; padding-left:5.4pt; padding-right:5.4pt;"> 
          <asp:Label ID="lbl_Agency" runat="server" 
           Style="font-weight:bold; font-size:7pt;" Text="Agency/Company Issuing Card"></asp:Label> 
             <p style="margin:0px;"> 
           </p> 
            <asp:Label ID="lbl_Agency_out" runat="server" 
           Style="font-size:5pt;">Company<br />ADDRESS<br />PHOENIX, AZ 85024</asp:Label> 
         </td> 
         <td colspan="4" 
          style="width:162pt; padding-left:5.4pt; padding-right:5.4pt;"> 
          <asp:Label ID="lbl_Insured_Name" runat="server" 
           Style="font-weight:bold; font-size:7pt;" Text="Insured Name and Address"></asp:Label> 
             <p style="margin:0px;"> 
           </p> 
           <asp:Label ID="lbl_Insured_Name_out" runat="server" Style="font-size:5pt;"><%# Eval("INSURED_NAME") %><br /><%# Eval("INSURED_ADDRESS") %><br /><%# Eval("INSURED_CITY")%>, <%# Eval("INSURED_STATE")%>&nbsp <%# Eval("INSURED_ZIPCODE") %></asp:Label> 
         </td> 
        </tr> 

        <tr style="height: 9.6pt;" valign="top"> 
         <td align="center" colspan="6" 
          style="width:260.1pt; padding-left:5.4pt; padding-right:5.4pt;"> 
          <asp:Label ID="lbl_Not_valid" runat="server" 
           Style="font-weight:bold; font-size:7pt;" 
           Text="Not valid for more than one year from effective date"></asp:Label> 
         </td> 
        </tr> 

        <tr style="height: 12pt;"> 
         <td align="center" colspan="6" 
          style="width:260.1pt; padding-left:5.4pt; padding-right:5.4pt;"> 
          <asp:Label ID="lbl_see_importance" runat="server" 
           Style="font-weight:bold; font-size:7pt;" 
           Text="See Important notice on reverse side"></asp:Label> 
         </td> 
        </tr> 

        <tr style="height: 13.7pt;"> 
         <td colspan="6" 
          style="width:260.1pt; padding-left:5.4pt; padding-right:5.4pt;"> 


         </td> 
        </tr> 
       </table> 
+0

안녕 릴리, 불행하게도 당신이 덜 질문을 게시 코드의 더 선이 대답 할 것입니다, 당신은 366있어입니다

<table style="border-style:solid; border-width: 1px;"> 
이는 제비. 또한 데이터베이스가 없으므로 코드를 재현 할 수 없습니다. 코드를 적게 게시하고 VS에 입력 할 수있는 코드를 게시하고 문제가있는 코드를보다 일반적인 코드로 추상화하면 이상적입니다. 예를 들어, 데이터베이스는 셀 컬렉션 인 행 모음입니다. 데모 용으로 개체 배열을 가질 수 있습니다. –

+0

안녕하세요 Chris 님, 제 문제를 도와 주셔서 감사합니다. 데모를 볼 수 있도록 코드를 링크로 대체합니다. 또한 리피터를 다운로드하는 두 번째 옵션이 포함되었습니다. 다시 한번 감사드립니다! – Lily

+0

감사합니다. 릴리, 우리는 함께 할 일에 더 가까워지고 있습니다. 나는 [HTML을 PDF로 변환하는 것에 대해 (불행히도 긴) 게시물을 읽는 것을 권장합니다] (http://stackoverflow.com/a/25164258/231316). 우선 (단락 5), 당신은'HTMLWorker'가 더 이상 지원되지 않으며 매우 기본적인 HTML/CSS 파서를 가지고 있다는 것을 알게 될 것이다. 대신에'XMLWorker'로 전환해야합니다. iTextSharp가 관련되면 두 번째 (단락 4), * ASP.Net은 더 이상 중요하지 않으며 HTML 및 CSS 만 * 사용해야합니다. HTML과 CSS의 아주 작은 예를 게시 할 수 있다면 더 많은 도움을 드릴 수 있습니다. –

답변

0

궁극적으로 문제는 당신이 사용되지 않는 HTML 파서를 사용하고 있는지, 당신은 실제로 점점되어야 iTextSharp의 최신 버전을 사용하고 있다면 IDE에서 경고하고, 레거시 코드가 많지 않으면 가장 최신 버전을 실행하지 않는 것이 좋은 이유는 아닙니다. 라이선스 차이로 인해 4.x 버전을 사용하고 있다면 fourth block on this page을 읽어 보시기 바랍니다.

에 관계없이 HTMLWorker은 스타일 명령에 대한 지원이 매우 제한적이며 border은 그 중 하나가 아닙니다. HTMLWorker을 계속 사용하려면 fifth paragraph here을 읽고 어떤 속성을 사용할 수 있는지 알려줍니다. 예상대로 코드가 작동 XMLWorker로 전환하는 경우,

<table border="1"> 

그러나 : 당신이 HTMLWorker를 사용하여 국경을 변경하려는 경우 당신은 내가 HTML 태그 자체를 설정하는 것입니다 알고 있어요 유일한 방법이야 만큼 당신이 1px처럼 실제 기기에 border-width 속성을 변경 같이

이 이
+0

sooooo 많은 크리스 주셔서 감사합니다 !!! 나는 XMLWorker로 전환 할 것이다. – Lily