16

wkhtmltopdf を使用して、単一の HTML ファイルから PDF を生成し、page-break-before: always. 例えば:

<div class="cover">
    Cover Page
</div>
<div class="page">
    Page 1
</div>
<div class="page">
    Page 2
</div>

CSS の場合:

.page {
    page-break-before: always;
}

現在、私は wkhtmltopdf コマンドを作成して、PDF をレターサイズのページに縦向きで印刷しています。ページの 1 つを横向きにし、残りを縦向きにする必要があります (PDF を画面に表示したときに、すべてのコンテンツが正しい向きになるようにします)。

1 つの PDF に向きを混在させる方法はありますか?

これが不可能な場合、wkhtmltopdf を使用して複数の PDF をマージする方法はありますか? (さまざまな pdfmerge ソフトウェアの他の提案を見てきました。) 必要に応じて、HTML ソース ファイルをページごとに複数のファイルに分割できます。

4

2 に答える 2

22

誰かが将来この答えを探している場合に備えて、私は自分の解決策でこれを完成させます. 回答がないことに基づいて、wkhtmltopdf を使用して複数のページの向きで PDF を作成する方法は実際にはないと思います。

  1. 私が実装した最初の解決策は、1 つの HTML ファイルを使用して単一の PDF を作成し、次の CSS を使用して横向きのページのコンテンツを回転させることでした。

    width: 1275px; 
    height: 1650px; 
    
    -webkit-transform: translateY(1650px) rotate(270deg); /* Chrome, Safari 3.1+ */ 
    -moz-transform: translateY(1650px) rotate(270deg); /* Firefox 3.5+ */ 
    -o-transform: translateY(1650px) rotate(270deg); /* Opera 10.5-12.0 */ 
    -ms-transform: translateY(1650px) rotate(270deg); /* IE 9 */ 
    transform: translateY(1650px) rotate(270deg); /* IE 10+, Firefox 16.0+, Opera 12.1+ */ 
    filter: progid:DXImageTransform.Microsoft.Matrix(M11=6.123031769111886e-17, M12=1, M21=-1, M22=6.123031769111886e-17, SizingMethod='auto expand'); /* IE 6-7 */ 
    -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=6.123031769111886e-17, M12=1, M21=-1, M22=6.123031769111886e-17, SizingMethod='auto expand')"; /* IE 8 */ 
    
    -webkit-transform-origin: 0% 0%; 
    -moz-transform-origin: 0% 0%; 
    -o-transform-origin: 0% 0%; 
    -ms-transform-origin: 0% 0%; 
    transform-origin: 0% 0%; 
    

    (同様の互換性のある CSS3 変換を記述するには、このすばらしいサイトをチェックして、すべての IE マトリックス値を計算してください: http://www.useragentman.com/IETransformsTranslator/ )

    これは、ユーザーが PDF を作成した後にのみ印刷する場合に適したソリューションです。ユーザーは画面上で PDF を表示する必要があるため、PDF 表示ソフトウェアを使用してページを回転させるのは現実的ではありません。

  2. そこで、私の 2 番目の解決策は、個々の HTML ファイルから個別の PDF として各ページを作成し、Ghostscriptを使用してそれらを 1 つのファイルにマージすることでした。これは完全に機能しましたが、すべてのファイルを作成してマージするために余分な処理時間が追加されました. 私の場合、PDF はあまり頻繁にダウンロードされず、ページ数も最小限だったので、余分な時間は大きな負担にはなりませんでした。

于 2012-11-20T03:38:19.303 に答える
0

@sacohe へ - 未来からこんにちは!はい、まだ探しています。

将来誰かがまだこの回答を探している場合に備えて、機能リクエストへのリンクを残しています: https://github.com/wkhtmltopdf/wkhtmltopdf/issues/1564

現時点ではまだ開いていますが、遅かれ早かれ修正される可能性があります。

于 2017-03-23T20:15:36.270 に答える