문제

현재 PDF Sharp와 PDFSHARP의 GDI+ 모드를 사용하여 고도로 사용자 정의 된 PDF 인쇄물을 구성하는 데 필요한 모든 정보와 함께 AJAX 페이지에서 호출하는 "PrintingWebService"가 있습니다. 그들은 PDF에 끌립니다.

그런 다음 PDF 파일을 웹 서버의 위치에 저장하고 웹 서비스에서 파일 이름을 반환하고 AJAX 페이지는 PDF 파일로 새 창을 엽니 다.

지금까지 잘 작동하지만 Ajax 페이지의 일부가 인쇄하려는 일부가 있으며 아직 해결책을 찾지 못했습니다. PDF 페이지의 하단 부분에서 이의를 제기하려는 Tinymce 편집기의 HTML 컨텐츠 문자열이 있습니다.

이 목적으로 사용할 수있는 도구를 찾고 있습니다. 소스 코드를 가져 와서 pdfsharp의 gdi+를 사용하도록 번역하여 사용할 수있는 gdi+에 인쇄 할 수있는 것조차 Obensource조차도 사용할 수 있습니다 (클래스 이름은 xgraphics와 같으며 각 클래스는 x를 가진 각 클래스가 gdi+ 이름 앞에 있습니다).

내가해야한다면 Tinymce가 HTML을 생성 할 수있는 것을 제한하고 내 렌더러를 작성하지만 큰 도전이 될 것이므로 다른 솔루션을 먼저 찾고 있습니다.

기존 코드를 사용하여 기존 Winforms 인쇄물과 거의 동일 한 페이지를 구성하고 싶었 기 때문에 프린터 친화적 인 페이지 접근 방식에서 멀리 떨어져있었습니다. PDFSHARP를 사용하면 텍스트 영역을 제외한 모든 코드를 변환 할 수있었습니다 (WinForms 버전에서 RichTextBox 및 RTF를 사용했습니다).

도움이 되었습니까?

해결책

토니,

나는 개인적으로 WebSupergoo의 ABCPDF 라이브러리를 많은 성공으로 사용했습니다. 실제로 HTML을 PDF로 직접 렌더링 할 수 있으며 정확도와 관련하여 상당히 잘 작동합니다.

과거에 많은 성공을 거두었던 PDF에 HTML을 작성하는 유연성을 허용하는 또 다른 무료 소프트웨어는 ItextSharp입니다.

그렇지 않으면 HTML을 GDI로 렌더링하기 위해 무언가를 써야한다고 생각합니다.

어느 쪽이든, web.config를 사용하여 PDF 파일을 생성하는 데 매핑되는 httphandler를 사용하는 것을 고려할 수 있습니다. 이렇게하면 PDF를 바이트 스트림으로 렌더링 한 다음 각 PDF 영수증을 웹 서버에 저장 해야하는 것과는 대조적으로 사용자에게 직접 덤프 할 수 있습니다. 또한 영수증을 반환하는 페이지에서 .pdf 확장자를 사용할 수 있습니다 (구매 세르 히트. ASPX 페이지에서 PDF 바이트 스트림을 던지기 시작하면 이전 버전의 Adobe / Browsers가 올바르게 표시되지 않습니다.

도움이 되었기를 바랍니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top