0

かなりエキゾチックなようです。最近、Windows Server 2003から2008にアップグレード/移行しましたが、Doc.AddImageUrl()を使用すると画像をレンダリングできないようです。(PDFを保存すると、画像は正しいサイズで表示されますが、IE8の欠落している画像xが表示されます)。

私が正しく理解していれば、ABCpdfはこの種のことのために内部的にIEレンダリングを使用しています。

許可の問題である可能性があると考えましたが、IE ESCを確認したところ、提案どおりに構成されているようです。他の誰かが同様の問題に遭遇しましたか?おそらくコード構成が必要ですか?

スニペット全体ではなく、ABCpdf7のもの:

using (Doc doc = new Doc())
        {
            doc.HtmlOptions.PageCacheEnabled = false;
            doc.HtmlOptions.UseNoCache = true;
            doc.HtmlOptions.PageCacheClear();
            doc.HtmlOptions.PageCachePurge();
            doc.HtmlOptions.UseResync = true;
            doc.HtmlOptions.ImageQuality = 25;

            int pageID = doc.AddImageUrl(url + "&guid=" + url.GetHashCode());

            while (true)
            {
                if (!doc.Chainable(pageID))
                    break;
                doc.Page = doc.AddPage();
                pageID = doc.AddImageToChain(pageID);
            }

  // file saving etc.
    }
4

1 に答える 1

0

いくつかの環境でテストするために、コードから単体テストを抽出しました。私たちのdev dbサーバー(2008年を実行している唯一の他のサーバー)は、ほぼ同じ構成で単体テストを実行できたことが判明しました。

この情報を入手して、本番環境の dll に絞り込むことができました。ABCpdf.dll は正しかった (32 ビット) にもかかわらず、64 ビットのコア (ABCpdf7ce.dll) が実稼働していました。

コンポーネントのコアは COM (iirc) であるため、エラーはスローされていなかったと思います。さらに、html から画像なしで pdf を生成できたという事実は、私には奇妙です。

さらに、リポジトリには 64 ビット dll の記録がなく、32 ビット dll は GAC にありました。私が知る限り、コア DLL はビルドにのみ使用されているため、影響を受ける環境からそれらの DLL を削除しましたが、良好な状態にあるようです。

于 2010-03-19T06:00:38.670 に答える