3

これは私のデータ表示です。struts2の表示タグライブラリを使用せずにそのままPDFで表示したい。

<table border="1" align="center" style="border-color: #CCCCCC; border-width: 1px; border-style: None; width: 1320px; border-collapse: collapse;" id="tablepaging">
    <tbody>
        <tr>
            <td>Leave ID</td>
            <td>FROM DATE</td>
            <td>TO DATE</td>
            <td>DAYS REQUESTED</td>
            <td>APPROVER</td>
            <td>NOTES</td>
            <td>REMARK</td>
            <td>IS PLANNED</td>
            <td>REASON</td>
        </tr>
        <tr>
            <td>270</td>
            <td>12/27/12</td>
            <td>12/29/12</td>
            <td>2</td>
            <td>Sagar</td>
            <td>s</td>
            <td>s</td>
            <td>true</td>
            <td>s</td>
            <td>
                <a href="/HRIS_Updated/cancelRequest.action;jsessionid=A2313340A50DD2DAB054714BF65AB08B?leaveId=270" id="submitinvoice;jsessionid=A2313340A50DD2DAB054714BF65AB08B_">Cancel</a>
            </td>
            <td>
                <a href="/HRIS_Updated/requestHistory.action;jsessionid=A2313340A50DD2DAB054714BF65AB08B?leaveId=270" id="submitinvoice;jsessionid=A2313340A50DD2DAB054714BF65AB08B_">History</a>
            </td>
        </tr>
    </tbody>
</table>

javascriptまたはjqueryで可能ですか?

数日間グーグルで検索したが何も得られないコードを手伝ってください。

4

5 に答える 5

1
        Finaly i got the solution here is the code


          <script language="javascript" type="text/javascript">
                 function Retrivetable()
                {
                var table = document.getElementById("historyTable");

                if (table) {

                  // If outerHTML property available, use it
                  if (typeof table.outerHTML == 'string') {
                    $('#settable').val(table.outerHTML)
                  // Otherwise, emualte it
                  } else {
                    var div = document.createElement('div');
                    div.appendChild(table.cloneNode(true));
                    $('#settable').val(div.innerHTML);
                  }
                }
                } 
                </script>

    <s:submit
            onclick="Retrivetable()"
            value="Export to Pdf"  action="ExportToPdf" method="ExportPDF" align="bottom"/>

       In the action class  
public String ExportPDF()
    {   
            tablestruct = "<html><head></head><body>"+tablestruct+"</body></html>";
                    //System.out.println("After concat "+tablestruct);
                    try{
                        String filePath = ServletActionContext.getServletContext().getRealPath("/testpdf.pdf");
                        System.out.println(filePath);
                        Document document=new Document(PageSize.LETTER);
                        PdfWriter pdfWriter = PdfWriter.getInstance(document, new FileOutputStream(filePath));
                           document.open();
                           HTMLWorker htmlWorker = new HTMLWorker(document);
                           htmlWorker.parse(new StringReader(tablestruct));
                            document.close();
                            System.out.println("Done");
                            File file = new File(filePath);
                            inputStream = new DataInputStream( new FileInputStream(file));
                      }
                      catch (Exception e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }
                }     
于 2012-12-06T14:11:50.693 に答える
1

私の知る限り、残念ながらjavascriptはそれ自体でPDFファイルを作成することはできません。そして、私はまだ支柱を使用していません。しかし、私はあなたに非常に使いやすいDisplaytagライブラリをお勧めします:)

これはあなたが特に必要とするものです(コード付き):http ://displaytag.sourceforge.net/10/export.html

ドキュメント(最初から最後まで):http ://displaytag.sourceforge.net/10/displaytag.pdf

于 2012-12-05T07:17:32.987 に答える
1

JavaのソースPDFからを生成するには、モジュールを使用できます(現在は非推奨で、新しいプロジェクトはXMLWorkerですが、これは使用しているiTextのバージョンによって異なります)。HTMLiText's HTMLWorker

アクションの文字列変数でJSPページにあるテーブルをエミュレートできますCreatePDFAction

次に、JSPから、CreatePDFAction送信ボタンを使用して呼び出します(必要に応じて、新しいページでPDFを開きます)。

Struts.xmlで、CreatePDFAction結果をstream結果タイプとして宣言し、適切なcontentTypeapplication/pdf)、contentDispositionファイル名を指定するための目的、および動作を宣言します。ダウンロード(attachment)またはブラウザーで開きます(inline)。

アクション内でCreatePDFAction、文字列を受け取り、新しいドキュメントと新しいHTMLWorkerをインスタンス化し、HTMLを含む文字列をフィードして、結果のPDFからバイトを抽出し、アクションによってゲッターを介して公開されるInputStreamに配置します。

于 2012-12-05T18:04:36.680 に答える
1

jspでdisplaytableを使用すると、.csv、.excel、sononとともに*pdfに変換するのが非常に簡単になります。サンプルコードは次のとおりです。

<display:table id="data" name="${questions}" requestURI="" pagesize="10" export="true" >
    <display:column property="label" title="Question" sortable="true"/>
    <display:column title="Graph Analysis"> <img src="${imagePath}${reportData.clientName}/${data.label}.png"/></display:column>
    <display:setProperty name="export.pdf" value="true" />
</display:table> 
于 2012-12-19T12:36:29.820 に答える
0

ストラットについてはよくわかりませんitextpdf。JSPで使用しました。 http://tutorials.jenkov.com/java-itext/getting-started.html

うまくいけば、それが役立つでしょう

于 2012-12-05T07:09:24.717 に答える