2013-02-03 6 views
0

ABCPdf를 사용하여 페이지를 PDF로 렌더링 할 때 간단한 DOM 조작을 시도하고 있습니다. 나는 그들이 여기에 문서화 무엇을 다음 : http://www.websupergoo.com/helppdf9net/source/5-abcpdf/xhtmloptions/2-properties/usescript.htmABCPdf는 "HTML을 렌더링 할 수 없습니다 .JScript를 적용 할 수 없습니다"라는 간단한 OnLoadScript에서도 사용합니다.

하지만 다음과 같이 간단하게 뭔가를하려고하면 난 무엇인지에

Unable to render HTML. Unable to apply JScript. 
COM error 80020101. 

Script 'var reportElms = document.getElementsByClassName("report");'. 

어떤 생각 :

var doc = new Doc(); 
doc.HtmlOptions.UseScript = true; 
doc.HtmlOptions.UseNoCache = true; 
doc.HtmlOptions.PageCachePurge(); 
doc.HtmlOptions.OnLoadScript = @"var reportElms = document.getElementsByClassName(""report"");"; 
doc.Page = doc.AddPage(); 
doc.AddImageUrl(Url.Action("TestPdf", "Pdf", new { }, "http")); 

나는 예외를 얻을 잘못하고있는거야? 나는 버전을 사용하고 Btw는

doc.HtmlOptions.OnLoadScript = @" 
    window.ABCpdf_RenderWait(); 
    window.ABCpdf_RenderComplete();"; 

: 심지어 기능을 내장하지

내가 심지어 다음 스크립트와 같은 예외를 받고 있어요

일 8 그것이 우리에게 면허가있는 것이기 때문입니다.

편집 :

나는 ABCpdf_RenderWait()ABCpdf_RenderComplete() 통화에 대한 .external을 누락되었습니다. 당신이 (상상) 적절하게 참조하는 경우가 작동합니다

doc.HtmlOptions.OnLoadScript = @" 
    window.external.ABCpdf_RenderWait(); 
    window.external.ABCpdf_RenderComplete();"; 

비록을 내 대답에 언급으로, 또한 IE에 대한 통해 뛰어해야 할 보안 농구 많이 있습니다.

+0

당신이 도마뱀 붙이거나 IE를 사용하십니까 : FAQ를 보안의 디버깅을 논의 많은 시간을 보내고 있기 때문에

나는 그것이 보안 구성을 많이 필요로하기 때문에 IE 엔진이 작동하지 않았다고 생각? 창문을 보니? 예를 들어? – devio

+0

기본값은 IE이며 누락 된 Gecko DLL에 대해 불만을 표시하기 위해 스위치를 시도했을 때 IE를 사용하고 있습니다. –

+0

내가 너를 도울 수 없다고 생각해. OS/IE에 따른 불일치와 같은 몇 가지 문제가 발생하면서 Gecko로 전환했습니다. 어쩌면 내 게시물은 어떤 방식 으로든 당신을 도울 수 있습니다 http://devio.wordpress.com/category/abcpdf/ – devio

답변

0

그래서 실제로 원하는대로 JavaScript를 실행하는 IE 엔진을 얻지는 못했지만 Gecko 엔진을 사용하여 솔루션을 찾을 수있었습니다. 원래 NuGet 설치에는 Gecko DLL이 포함되어 있지 않으므로 독립 실행 형 설치를 다운로드하고 수동으로 DLL을 추가했습니다.

그 이후 모든 것이 예상대로 정확하게 작동했습니다. http://www.websupergoo.com/support.htm#6.7