abcPDF Gecko 엔진에서 내 PDF를 내 페이지로 렌더링 할 수 있지만 내 CSS에 절대 경로를 추가하자마자 <link>
요소는 렌더링에 실패합니다.
그러나 PDF를 잘 렌더링 할 수있는 다른 페이지를 가지고 있으며 동일한 JavaScript를 사용하여 CSS <link>
요소에 대한 절대 경로를 추가하고 있습니다.CSS에 절대 경로를 추가하면 Gecko 엔진이 페이지 렌더링시 실패합니다.
자바 스크립트를 사용하여 각 CSS 요소의 href를 동적으로 변경합니다. 즉시 나는이 코드 줄을 추가로
//Give css files full paths
var domain = window.location.protocol + "//" + window.location.host;
html.find("link").each(function(index, item){
var linkPath = domain + $(item).attr("href");
$(item).attr("href", linkPath);
});
, 나는 다음과 같은 예외를 얻을 :
WebSupergoo.ABCpdf8.Doc.AddImageHtml(String html, Boolean paged, Int32 width, Boolean disableCache) +209
WebSupergoo.ABCpdf8.Doc.AddImageHtml(String html) +64
DocuMatix_Complete_Suite.Classes.Helpers.ConvertToPDF.ExportToPDF(String companyId, String name, String pHtmlorUrl, Boolean pIsUrl, Boolean useCohesion, EngineType engine, Orientation orientation) +530
DocuMatixPageBase.PdfContent(String filename, String html, Boolean useCohesion, EngineType engine, Orientation orientation) +244
DocuMatix_Complete_Suite.ReportCenter.Controllers.ReportCenterController.CreateSubscriberActivityReportPDF(SubscriberActivityReportPDFModel model, String orientation) +109
lambda_method(Closure , ControllerBase , Object[]) +147
System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters) +14
System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) +156
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +27
System.Web.Mvc.Async.AsyncControllerActionInvoker.<BeginInvokeSynchronousActionMethod>b__39(IAsyncResult asyncResult, ActionInvocation innerInvokeState) +22
System.Web.Mvc.Async.WrappedAsyncResult`2.CallEndDelegate(IAsyncResult asyncResult) +29
System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +49
System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) +32
System.Web.Mvc.Async.AsyncInvocationWithFilters.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3d() +50
System.Web.Mvc.Async.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f() +225
System.Web.Mvc.Async.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f() +225
System.Web.Mvc.Async.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f() +225
System.Web.Mvc.Async.<>c__DisplayClass33.<BeginInvokeActionMethodWithFilters>b__32(IAsyncResult asyncResult) +10
System.Web.Mvc.Async.WrappedAsyncResult`1.CallEndDelegate(IAsyncResult asyncResult) +10
System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +49
System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult) +34
System.Web.Mvc.Async.<>c__DisplayClass2b.<BeginInvokeAction>b__1c() +26
System.Web.Mvc.Async.<>c__DisplayClass21.<BeginInvokeAction>b__1e(IAsyncResult asyncResult) +100
System.Web.Mvc.Async.WrappedAsyncResult`1.CallEndDelegate(IAsyncResult asyncResult) +10
System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +49
System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +27
System.Web.Mvc.Controller.<BeginExecuteCore>b__1d(IAsyncResult asyncResult, ExecuteCoreState innerState) +13
System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +36
System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +54
System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +39
System.Web.Mvc.Controller.<BeginExecute>b__15(IAsyncResult asyncResult, Controller controller) +12
System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +28
System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +54
System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +29
System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult) +10
System.Web.Mvc.MvcHandler.<BeginProcessRequest>b__5(IAsyncResult asyncResult, ProcessRequestState innerState) +21
System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +36
System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +54
System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +31
System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result) +9
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +9651532
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155er code here
그 페이지가 도착에 내가 자바 스크립트/jQuery를이 라인과 PDF를 구현하는 다른 페이지가 완벽하게 생성됩니다. 내가 이것을 조사했을 때 EngineType
을 MSHtml
으로 설정하면 페이지가 렌더링되지만 스타일이 잘못되었음을 발견했습니다. 이것은 Gecko 엔진에 문제가있는 것 같습니다. 생성 된 각 CSS 링크를 통해 합법적 인 링크인지 확인했습니다. 필자는 CSS 링크를 PDF 렌더링에 성공한 페이지와 비교했으며 두 페이지는 동일한 CSS 링크를 사용하고 있습니다.
내가 알아내는 데 도움이되는 코드 또는 정보가 확실하지 않지만 누군가가 올바른 방향으로 나를 가리킬 수 있다면 도움이 크게 감사 할 것입니다. 나는 지금 어디로 가야할지를 놓치고있다.