1

HTMLファイルをPDFファイルに変換したいのですが、「wkhtmltopdf.exe」を使用していました。次に、このアプリケーションを共有ホスティング サーバーに移動しました。このサーバーは .exe ファイルの実行を許可しないため、WkHtmlToXSharp.dll [上記の exe のラッパー] を使用する必要があります。

正常に動作していますが、問題は出力をどこかにキャッシュしているため、新しい PDF を作成するたびに常に最初の PDF が作成されることです。

.Dispose() を呼び出し、コンバーターを null に設定しましたが、使用しません。

しかし、ある一定の時間が経過すると、新しい PDF が表示されます。つまり、バイト データがどこかにキャッシュまたはバッファリングされます。

以下は私のコードです。毎回、異なる画像を含む新しい html ファイル [htmlFullPath] を渡します。

IHtmlToPdfConverter converter = new MultiplexingConverter();

converter.ObjectSettings.Page = htmlFullPath;

converter.ObjectSettings.Web.EnablePlugins = true;
converter.ObjectSettings.Web.EnableJavascript = true;
converter.ObjectSettings.Web.Background = true;
converter.ObjectSettings.Web.LoadImages = true;
converter.ObjectSettings.Load.LoadErrorHandling = LoadErrorHandlingType.ignore;

converter.GlobalSettings.Orientation = (PdfOrientation)Enum.Parse(typeof(PdfOrientation), orientation);
if (!string.IsNullOrEmpty(pageSize))
    converter.GlobalSettings.Size.PageSize = (PdfPageSize)Enum.Parse(typeof(PdfPageSize), pageSize);

converter.GlobalSettings.Margin.Top = "0cm";
converter.GlobalSettings.Margin.Bottom = "0cm";
converter.GlobalSettings.Margin.Left = "0cm";
converter.GlobalSettings.Margin.Right = "0cm";

Byte[] bufferPDF = converter.Convert();

System.IO.File.WriteAllBytes(pdfUrl, bufferPDF);

converter.Dispose();
converter = null;
4

1 に答える 1