2009-09-08 2 views
1

iTextSharp를 사용하여 메모리에 작성된 PDF를 MemoryStream에 포함 시켰습니다. 이제는 MemoryStream PDF를 프린터가 이해할 수있는 것으로 변환해야합니다.MemoryStream의 PDF를 .Net의 프린터로 보내려면 어떻게해야합니까?

이전에는 보고서 서버를 사용하여 페이지를 프린터 형식으로 렌더링했지만이 프로젝트에서는 사용할 수 없습니다.

이 작업을 수행하는 기본 .Net 방식이 있습니까? 예를 들어 GhostScript는 .Net 어셈블리 인 경우에는 정상적으로 작동하지만 설치 프로그램과 함께 .Net 이외의 항목은 번들로 묶지 않습니다.

.Net의 PrintDocument 클래스는 프린터로 내용을 보내는 데 적합하지만 여전히 PDF 스트림에서 페이지 수준의 GDI로 변환해야합니다.

좋은 힌트가 있습니까? 고스트 스크립트는 PDF를 해석하는 것처럼 사전

라이언

답변

1

대체 및 임시 파일로 PDF 파일을 저장하고이에 언급 된 바로 인쇄에 PDF를 취할 것입니다 Process.Start를에서 명령을 다음 줄 것 할 수있는 쉬운 방법 Adobe Reader Print Throough Command Line

Process.Start("AcroRd32.exe /t \"C:\test.pdf\""); 

어도비가 올바른 방식으로 인쇄 할 것이기 때문에 이것이 최선의 방법이라고 말할 수 있습니다. 다른 도구에 따라 다르지만 100 % 정확하지는 않습니다.

+0

쉬운 옵션처럼 들리 네요! –

+0

나는 열려있는 채로있는 창과 cmd 줄을 통해 인쇄 지원을하지 않는 최신 버전에 문제가 있다고 생각했습니다. 고마워. 고마워. –

+0

어도비는 API를 가지고 있지만 실제로 어도비는 .NET WinForms에서 쉽게 사용할 수있는 액티브 X 컨트롤을 가지고 있으며 추가로 배송하지 않고도 사용할 수 있다고 생각한다. 여기에 문서화 된 http를 조사해야한다. : //www.adobe.com/devnet/acrobat/pdfs/Acrobat_SDK_developer_faq.pdf –

2

에서

덕분에 당신은 RIP가 필요합니다. C# 래퍼를 통해 dll 호출을 프린터로 직접 래핑 할 수 있지만 GhostScript와 관련된 재배포 라이센스가 있습니다.

.Net 용 leadTools Raster Imaging Pro를 사용하여 PDF를 해석하기 때문에 인쇄 기능을 확인해야합니다. 이 옵션은 값 비싼 옵션이며 로열티가 없습니다 (실제로는 GhostScript를 내부적으로 사용하지만 실제로는 LeadTools dll 사이에 랩핑됩니다.)이 라이브러리는 잘 작동하며 라이센스를 얻습니다.

Acrobat Reader에는 사용할 수? 당신은 그것을 조사 할 수있다.

HTH

+0

C# 래퍼가 편리하게 들리지만, 고맙게 생각합니다. 감사합니다. –

+0

내 프로필 페이지에서 이메일을 보내주십시오. –

관련 문제