6

これは技術サポートの問題かもしれませんが、他の開発者がこれに遭遇したかどうか疑問に思っています:

ASP.NET コードで Abcpdf を使用して、HTML から PDF を生成しています。正常に動作しますが、1 人のユーザーが CSS が適用されていない PDF を生成しています (IE8、Adobe Acrobat の最新バージョン - 他のユーザーと同じ)。これは唯一のユーザーが不満を言っているので、それはローカル設定だと確信していますが、CSS の読み込みを妨げる原因がわかりません - ブラウザの設定ですか? アクロバット設定?

誰か提案はありますか?

4

6 に答える 6

3

おそらく、Acrobat Reader の異なるバージョンの問題でしょうか? 私はこれを調べます。

AbcPdf はサービス側のロジックを使用して、ドキュメントの作成に使用している方法に基づいて PDF を作成するため (例: AddImageUrl とドキュメントを手動で描画するなど)、これはあまり意味がありません。

WebSuperGoo (AbcPdf のベンダー) のスタッフは、このようなサポートに関する質問への回答に優れています。私は彼らの製品でいくつかのエッジケースに遭遇しました.彼らは常にタイムリーに対処するための回避策または代替手段をフォローアップしています.

于 2010-01-22T02:09:47.437 に答える
3

CSS スタイルシートに media="print" があることを確認してください! これが私の髪を引っ張っているのを見て何年も過ごし、WebSuperGooにメールを送ろうとしていたとき、その考えが私に浮かびました。コードに加えたすべての変更を元に戻し、もう一度テストしようとしていますが、EngineType.Gecko では media="print" にする必要があるように見えますが、EngineType.MSHtml では media="screen" にすることができます。 ....

非常に奇妙ですが、誰かを助けることを願っています!

于 2012-11-09T14:52:16.977 に答える
1

ABCpdf のバージョン 10 を使用していますが、スタイル シートのパスは相対パスではなく絶対パスにする必要があることがわかりました。

スタイルシートのパスを「C:\MyProject\Resources\Styles.css」から「http:\www.MyDomain.com\Resources\Styles.css」に変更したところ、うまくいきました。

ただし、バージョン 6 は相対パスで動作しているようです。他のバージョンでは確認していません

WebSuperGoo のサポートによると:

(クエリ番号: 6.17)

HTML はファイル内に存在しないため、場所がありません。

外部のスタイルシートと画像は、相対 URL を介して参照されることがよくあります。HTML には場所がないため、これらの相対参照を解決することはできません。

そのため、スタイルシートと画像のリンクを絶対参照として提供する必要があります。または、HTML BASE 要素を使用して、適切なベースの場所を指定できる場合があります。または、HTML をファイルとして適切な場所に保存してから、AddImageUrl を使用することもできます。

于 2016-03-28T06:24:58.403 に答える
1

バージョン9で以下を試すことができます

doc.HtmlOptions.PageLoadMethod = 
     PageLoadMethodType.WebBrowserNavigate;
于 2014-05-29T15:15:02.063 に答える
1

CSS が相対 URL ではなく絶対 URL であることを確認するか、HTML のヘッダーに base タグを追加します。

たとえば、

<style type="text/css" href="/styles/somecss.css" rel="stylesheet" />

使用する

<style type="text/css" href="http://myserver.com/styles/somecss.css" rel="stylesheet" />

また、サイトが SSL または認証されている場合は、スタイルシートを非認証にするか、ABCPdf が認証できるように PDF オブジェクトのパスワードとユーザー名の属性を設定する必要があります。

于 2012-04-13T13:29:36.117 に答える
0

やってみました;

theDoc.HtmlOptions.DoMarkup = true;

これにより、エンジンはレンダリング前に HTML を処理するように強制されます。

于 2015-02-16T16:05:34.350 に答える