2012-03-12 6 views
1

.NET (VB) Graphics를 사용하여 보고서를 미리 정의 된 형식 (예 : 세금 양식)으로 인쇄합니다. 이는 잘 작동합니다.VB.NET PrintDialog 파일로 인쇄

또한 하나 이상의 다른 보고서를 누적하여 나중에 PDF로 변환하거나 XPS 인쇄 드라이버를 사용하여 인쇄 할 수 있도록 파일에 저장할 수있는 기능을 원합니다.

일반 레이저 프린터 또는 XPS 인쇄 드라이버의 경우 "파일로 인쇄"상자를 선택하고 "인쇄"를 클릭하면이 파일에서 파일 열기 대화 상자가 표시되지 않습니다 (http://www.functionx.com/vcnet/controls/print.htm) . 작업이 정상적으로 진행되는 것처럼 보이지만 실제로 파일이 만들어지면 어디에서 파일을 찾을 지 모릅니다.

무엇이 누락 되었습니까? 누구든지 그래픽 보고서를 누적하고 파일에 인쇄 또는 인쇄하는 대체 방법을 제공 할 수 있습니까?

TIA.

+0

왜 직접 PDF 프린터를 사용하지 않습니까? [PDFCreator] (http://sourceforge.net/projects/pdfcreator/) 또는 [BullZip] (http://www.bullzip.com/)처럼? – Steve

+0

나는 PDF 프린터를 고려할 것이다. Windows 플랫폼에 쉽게 (프로그래밍 방식으로) 설치할 수 있습니까? 불행히도 이들 링크는 모두 의심 스럽습니다. PDFCreator는 Babylon Toolbar와의 통합에 대한 매우 나쁜 평가를 받았으며 BullZip 링크를 사용할 수 없습니다. –

+0

PDFCreator에 대해서는 말할 수 없습니다. 무거운 것이었기 때문에 몇 년 전에 거절 한 BullZip을 위해 나는 오늘 그것을 큰 만족으로 사용합니다. 지금 링크를 테스트하고 잘 작동합니다. '프로그래밍 방식으로 설치'하시겠습니까? 내 생각에 아뇨, 응용 프로그램을 설치하는 동안 자신의 설정을 포함시켜야하며 고객에게 설치 방법을 알려야합니다. 웹에서 'PDF Printer'를 검색하면 다른 솔루션에 대한 링크를 찾을 수 있습니다. – Steve

답변

1

인쇄 대화 상자가 실제로 PrintDocument 인스턴스와 연결되어 있습니까? 이와 같은 코드는 잘 작동합니다.

private void button1_Click(object sender, EventArgs e) { 
     printDocument1.PrinterSettings.PrintToFile = true; 
     printDocument1.PrinterSettings.PrintFileName = @"c:\temp\test.xps"; 
     printDocument1.Print(); 
    } 
+0

감사합니다. 한스. 액세스 거부 오류가 발생하지만 적어도 파일에 쓰려고 시도하는 것 같습니다. 이 오류에 대한 해결 방법을 알고 있습니까? –

+0

다른 파일 이름을 전달하십시오. appdata 경로를 사용하십시오. –

+0

파일을 쓰고 여는 후 XPS 뷰어에서이 문서를 열 수 없다고보고합니다. 이것은 Graphics 객체를 사용하여 작성 되었기 때문입니까? –

0

왜 PDF 프린터를 사용하지 않습니까? 그물에는 수많은 무료 솔루션이 있습니다.
내가 더 좋아하는 사람은 BullZip이지만 다른 옵션이 있습니다. 이런 종류의 솔루션을 찾으려면 막 다른 길 (예 : 애드웨어 툴바 또는 이상한 라이선스 조항)을 인식하십시오.
그러나 폴더를 문서 기반으로 정의 할 수 있고 인쇄 할 때마다 PDF 프린터는 PDF 문서를 저장할 위치를 기억합니다.

관련 문제