2013-03-07 3 views
3

MVC 뷰에서 일부 PDF를 생성하려고 시도 중입니다. 나는 결국 this을 가로 질러 와서 사용하려고하지만 (이 ITextSharp을 기반으로) 아래 그림과 같이이 이상한 마크 업이 있습니다어떤 종류의 마크 업입니까?

<row> 
    <cell borderwidth="0.5" left="false" right="false" top="false" bottom="true">User Name</cell> 
    <cell borderwidth="0.5" left="false" right="false" top="false" bottom="true">Description</cell> 
    <cell borderwidth="0.5" left="false" right="false" top="false" bottom="true" horizontalalign="right">Lucky Number</cell> 
    <cell borderwidth="0.5" left="false" right="false" top="false" bottom="true" horizontalalign="right">Doubled</cell> 
</row> 

Source

난 정말이 시점에서 일을하려고하고 모든입니다 열의 너비를 설정합니다 (셀이라고 부름). cellstyle: width 또는 width 또는 기타를 허용하지 않습니다.

어떻게이 제품을 사용할 수 있습니까? MVC 뷰에서 PDF를 렌더링하는 더 좋은 방법이 있습니까?

답변

1

이 iTextSharp XML입니다 말했다의 HTML을 얻을 수 있습니다. 게시물에 유효한 XML 요소가 나열되는 게시물이 있습니다. How to create tables in a PDF document using XML and iTextSharp?

CDATA 태그를 사용하여 너비를 설정할 수 있습니다.

+0

그게 그렇게 성가신 것처럼 보입니다 ... 나는 요소의 너비를 설정하는 것이 가장 간단한 것 같다고 느낍니다. 그렇게 어렵지 않아야합니다. – user1477388

+1

iTextSharp는 IMO와 함께 사용하기가 매우 어렵습니다. C#에서 그렇게했다면 간단하지 않습니다. – Jamie

+0

추천하는 아이템이 있습니까? wkhtmltopdf를 사용하려고합니다. 그러나 .EXE에 문제가 있습니다. 대신 .DLL을 사용할 수 있기를 바랍니다. http://stackoverflow.com/questions/15285363/running-exe-from-mvc – user1477388

1

가장 간단한 방법은 HTML로보기를 만든 다음 pdf로 변환 한 다음 작업 결과로 보내는 것입니다.

간단한 방법은 면도기 템플릿 http://razorengine.codeplex.com/

string template = "Hello @Model.Name! Welcome to Razor!"; 
string result = Razor.Parse(template, new { Name = "World" }); 

PDF 변환 다른 사람처럼 http://www.essentialobjects.com/Products/EOPdf/Default.aspx

+0

이전에 해본 적이 있으며 작업하기가 훨씬 쉽습니다. – DalSoft

+0

그 댓가는 600 달러 ... 아마 지금까지 들어 본 적이없는 이유 일 겁니다. 아무것도 싼거야? – user1477388

+1

http://stackoverflow.com/a/2129296/324497에서 시도해 볼 수 있습니다 wkhtmltopdf. 또한 그 문제에 대한 다른 해결책이 있습니다. – DalSoft

관련 문제