3

html to pdf アプリケーションで生成された pdf 本を印刷します。

各ページにはヘッダーとフッターがあり、各ページの固定コンテンツが収まるように、さまざまな言語の生産および翻訳制限 (およびレイアウトのバリエーション) を使用してコンテンツを正確に配置します。

したがって、たとえば、コンテンツは動的ですが、段落は本の同じ場所にほぼ同じ量のスペースを占めると予想されます。翻訳のスタイルやレイアウトの属性を変更することがありますが、同様のサイズについては同じ規則が適用されます。

各ページにヘッダーとフッターがあり、本全体が css 改行を使用して 1 つの長い html ページとしてレンダリングされ、各ヘッダーが新しいページに強制的に挿入されます。そのため、ページ サーバー側ごとに固定コンテンツの高さを制御します。

これはうまく機能し、プレゼンテーションで HTML が提供する利点 (プログラマーではなくデザイナーがページをデザインできるなど) に非常に満足しています。また、私たちはこの技術に多額の投資を行っています。私たちのテクノロジーを変更することはできません.html 2 pdfを使用しており、これを可能な限りうまく機能させる必要があります. だからといって、テクノロジーを混在させることができなかったわけではありません。しかし...

したがって、問題は、以前は制御できなかった可変サイズのコンテンツがいくつかあることです。それはテキストであるため、そのフォーマットは制御できますが、量は制御できません。サイズの異なる見出しも用意しています。

空白をできるだけ少なくして改ページを計算する方法が必要です。他の誰かがこれをどのように扱っているか知りたいです。これが正確な科学ではないことはわかっていますが、可能な限り最善のアプローチが必要です.

常に ie8 と互換性のあるレンダリング/レイアウト エンジンを完全に制御できるため、異なるブラウザーを考慮する必要はありません。

これらは私の考えです、あなたの意見を聞きたいです:

  1. これが現在の方法です。1 ページあたりの行数を割り当てます (さまざまなロケールに対応するために、フォント サイズとフォントによって可変)。コンテンツの各ブロックは n 行のコストで計算され、この数値は改ページの計算に使用されます。

プロシンプル

不正確です。どのフォントも等幅ではなく、ロケールごとに構成する必要があります。

  1. フリー フロー コンテンツの連続する各ページを、正確なページ幅 (固定 div) の div 内の Web ページにレンダリングします。HTML 2 bmp ソリューションを使用して、画像をキャプチャし、レンダリングされた画像の高さを使用します。 (エッジが検出され、必要に応じて切り取られます) 必要なページ数を計算します。

Pro は、フリー フロー コンテンツが連続している場合、正確であり、それほど高価ではない可能性があります。

コン不完全なソリューションです。必要なページ数がわかったら、html を分割する場所をどのように知ることができますか? この方法とエッジ検出を使用して各ページを測定すると、非常にコストがかかります。

  1. フォントごとに、フォント サイズ、テキストと見出しのパディングと余白を事前に把握し、フォント ファイルから抽出された幅データを使用して、文字ごとに幅と改行と高さを計算します。

Pro すべてのデータが抽出され、HTML レンダリングの違いに対してマージンが追加されると、これはかなり正確になる可能性があります。

Con 非常に複雑で、スタイル シートの変更に敏感です。

  1. WebBrowserControl を使用して何らかの方法でコンテンツを測定できますか?

あなたの考えや提案を聞くのが大好きです。

編集....

私たちの pdf コンバーターは Winnovative で、.net Windows サービス内で実行されますが、html フィードは PHP で生成されます。

4

2 に答える 2

1

この質問は古いですが、私はあなたと同じ基本的なことをしています。私が見つけたのは、行番号のカウントは依然として重要ですが、css スタイルの行の高さを使用して各行のサイズを標準化できるということです。(html がテーブルベースの場合、tr の高さ)。これにより、ページあたりの行数を一定にすることができます。

自分に合った解決策を思いつきましたか?

于 2013-04-19T13:46:43.600 に答える
1

マニュアルを参照して ください http://www.winnovative-software.com/manual%5CHTML%20to%20PDF%20Converter%20for%20.NET%20-%20Developer%27s%20Manual.htm

ポイント5.1。このソリューションがお役に立てば幸いです。

注: 内部リンクが機能していないため、手動で目的のポイントに移動してください。

于 2012-05-04T12:34:20.550 に答える