0

App Engineで生成された出力ページをPDFに変換しようとしましたが、いくつか問題がありました。まず、でコンテンツを選択しますjQuery。2番目:このjavascript変数を新しいPythonスクリプトに送信します3番目:新しいPythonスクリプトで、変換にxhtml2pdfを使用します。しかし、私は2番目のステップで混乱しました。以下は私のアプローチです:

HTML:

<div class="articles">
        <h2 class="model_header">PFAM Output</h2>
    <form>
        <table align="center">
            <!--end 04uberoutput_start-->
            <table class="out_chemical" width="550" border="1">
                <tr>
                    <th scope="col" colspan="5">
                        <div align="center">Chemical Inputs</div>
                    </th>
                </tr>
                <tr>
                    <th scope="col" width="250">
                        <div align="center">Variable</div>
                    </th>
                    <th scope="col" width="150">
                        <div align="center">Unit</div>
                    </th>
                    <th scope="col" width="150">
                        <div align="center">Value</div>
                    </th>
                </tr>
                <tr>
                    <td>
                        <div align="center">Water Column Half life @20 &#8451</div>
                    </td>
                    <td>
                        <div align="center">days</div>
                    </td>
                    <td>
                        <div align="center">11</div>
                    </td>
                </tr>
            </table>
        </table>
    </form>
</div>

JS

$(document).ready(function () {
  var jq_html = $("div.articles").html();
  console.log(jq_html);
$('.getpdf').append('<tr style="display:none"><td><input name="extract" value="' + jq_html + '"></input></td></tr>');
$('.getpdf').append('<tr><td><input type="submit" value="Generate PDF"/></td></tr>');
})

変換を行うための新しいPythonスクリプト

   def post(self):
        form = cgi.FieldStorage()   
        extract = form.getvalue('extract')
        print extract
        self.response.out.write(html)

変数抽出が正しく転送されているかどうかを確認しようとすると、空のページが表示されました。この変数は無視されているようです...抽出に数値を入力すると、フレームワーク全体が正常に見えます。それで、誰かが私のアプローチが正しいかどうかを識別するのを手伝ってくれるでしょうか?ありがとう!

4

1 に答える 1

1

このコード行は、HTMLのエスケープを正しく処理しません。さらに、これはtextフィールドではなくhiddenフィールドです。

$('.getpdf').append('<tr style="display:none"><td><input name="extract" value="' + jq_html + '"></input></td></tr>');

それを行うためのより良い方法は次のようになります:

$('<tr style="display:none"><td><input type="hidden" name="extract"></td></tr>')
    .appendTo('.getpdf')
    .find('input')
    .val(jq_html);
于 2013-03-26T02:31:21.180 に答える