2016-12-22 1 views
0

HTML :: Templateを使用してHTMLファイルを作成します。結果のコードは有効なXML/HTML(xmlバリデーターとの比較)です。しかし、PDF :: FromHTMLを使用してPDFに変換すると、「xmlファイルの無効なトークン」というメッセージが見つかりました。HTML :: TemplateからPDFへの変換:FromHtmlは無効なXMLを示します

最初の宣言行をdoctypeからxmlに変更しようとしていますが、何も動作しません。 XML ::シンプル、PDF:API2、XML :: Writerは最新バージョンです。

何が起こっているのですか?

# create template object and store to verify 
    shout('s',"create template from $str_filepath") if ($bool_DEBUG); 
    $str_mytemplate = HTML::Template->new(filename => $str_filepath, case_sensitive => 0, no_includes => 1 ); 
    $str_mytemplate->param(\%strct_toreplace); 
    $str_filepath = envDir('temp').newID().'.html'; 
    shout('',"template created, storing to : $str_filepath") if ($bool_DEBUG); 
    if (open(FILE, '>', $str_filepath)) { 
     print FILE $str_mytemplate->output; 
     close (FILE); 
     } 
# generate pdf from created file 
    shout('p',"Creating PDF ") if ($bool_DEBUG); 
    $pdf_this = PDF::FromHTML->new(encoding => 'utf-8'); 
    $pdf_this->load_file($str_filepath); 
    $pdf_this->convert(LineHeight => 10, Landscape => 1, PageSize => 'Letter',);  
    shout('p',"Display PDF") if ($bool_DEBUG); 
    print header(-type=>'application/pdf', -charset=>'UTF-8'); 
    print $pdf_this->write_file(); 

SECTION:PDF ソフトウェア・エラーの作成:19行目で がうまく形成されていない(無効なトークン)を、カラム13、/usr/local/lib64/perl5/XML/Parser.pmラインでバイト430 187 /home/grupo/perl/usr/share/perl5/PDF/FromHTML.pmラインで141

+1

htmlを含めるか、htmlの[mcve]を作成してください。これをデバッグするのを助けることができる必要があります。 – simbabque

+0

テンプレートはhttp://www.etoxica.com/examplecode.htmlテンプレートで生成されました –

+0

19行目を見ましたか?キャラクター13とは何ですか?どのように不正な形になっているのかは明らかですか? – simbabque

答えて

0

要約:pを見つけましたroblem(私は推測);)

は、次の行を検討:試みはPDFによって読み取られるとき

<td> 
    Some line of data 
    <br/> 
    A second line of data 
</td> 

は::それは特にスラッシュに、第5行目に不正なトークンのメッセージを送信しますFromHTML '/'は</td>タグからです。しかし、それは問題ではない、<td></td>の中の<br/>タグによって問題が発生します。

<br>または<br />に変更すると、エラーは見つかりません。私は<br>を使ってxmlの可読性を向上させる良いhtmlの練習であるかどうか分からず、さらにw3c br semanticと定義されています。

関連する問題