1
我目前正在使用Azure服務結構(將替換網絡和輔助角色的新產品的種類)託管打印服務。我使用wkhtmltopdf和NReco.PDFGenerator.LT作爲它的包裝,它在本地開發集羣中工作正常,但在聯機時失敗。NReco PDFGenerator在Azure服務結構上失敗
我得到的唯一例外是Exception thrown: 'System.Exception' in NReco.PdfGenerator.LT.dll
,我覺得它很難調試,因爲它沒有告訴什麼是失敗。
閱讀this我在想,也許有些東西不見了集羣上,但當地環境suposed是一個在線的翻版。而且我是用在同一個集羣NReco包裝phantomjs切換到前wkhtmltopdf,它在線和本地工作,我相信他們都使用相同的核心引擎(雖然不同的叉)?
這是我的代碼,而在遠程調試中,我檢查了許可證,.exe路徑和文件的值是否正確。
[HttpGet]
public ActionResult Get(string target)
{
var wktohtmlPath = Path.Combine(_hostingEnvironment.WebRootPath, "lib");
var htmlToPdf = new HtmlToPdfConverter() {
Quiet = false,
CustomWkHtmlArgs = "--print-media-type",
PdfToolPath = wktohtmlPath,
Margins = new PageMargins() { Left = 17, Right = 17, Top = 17, Bottom = 17 }
};
htmlToPdf.License.SetLicenseKey(
_optionsAccessor.Value.LicenceOwner,
_optionsAccessor.Value.LicenceKey
);
try
{
var fileBytes = htmlToPdf.GeneratePdfFromFile(target, null);
var fileStream = new MemoryStream(fileBytes);
return new FileStreamResult(fileStream, "application/pdf");
}
catch
{
return BadRequest();
}
}
謝謝您的回答