GDI를 XPS로 변환 할 때 Microsoft XPS 문서 작성자의 대화 상자 저장 억제

StackOverflow https://stackoverflow.com/questions/810550

  •  03-07-2019
  •  | 
  •  

문제

그의 블로그 항목에서 사용자 상호 작용없이 Microsoft XPS 문서 작성자에게 문서 인쇄 Feng Yuan은 말합니다

자신의 애플리케이션에서 인쇄하는 경우 MXDW를 프린터 드라이버로 쉽게 지정하고 저장할 XPS 문서의 파일 이름을 제공 할 수 있습니다.

누구든지 그렇게하는 방법을 설명하고 코드 샘플을 제공 할 수 있습니까?

내가 가진 주요 문제는 Microsoft XPS 문서 작성자가 팝업하는 대화 상자로 저장을 억제하는 것입니다. Yuan이 그의 게시물에서하는 것처럼 UI 해킹에 의지하는 것에 대해 혐오감을 느낍니다.

현재 내 응용 프로그램은 사용자가 사용하려는 프린터의 장치 컨텍스트에서 GDI 그리기 호출을합니다. XPS 문서 작가에서 그러한 전화를 할 수는 있지만 인쇄를 완료 할 시간이 올 때 XPS 작가는 저장을 대화 상자로 팝업합니다.

도움이 되었습니까?

해결책

실제로 같은 저자는 답을 제공합니다 파일 저장 대화 상자를 표시하지 않고 Microsoft XPS 문서 작성자 인쇄. 솔루션은 Microsoft XPS 문서 작성자 프린터를 사용하여 파일에 인쇄하는 것입니다.

다른 팁

XPS 문서로 파일 시스템을 치는 것을 피하고 싶다면 Shahed Kahn은 샘플 코드를 제공합니다. MemoryStream에서 XPS를로드합니다.

다음은 저에게 효과가 있습니다.

  With Me.PrintDocument
     With .PrinterSettings
        .PrinterName = "Microsoft XPS Document Writer"
        .PrintToFile = True
        .PrintFileName = "c:\test.xps"
     End With
    .Print()
  End With

내가 아는 한, 이것은 문서화되지 않습니다. 시도해 보면 끔찍한 저장을 대화 상자로 얻지 못할 것입니다. 대신 MXDW (c : test.xps)에 의해 생성 된 깨끗한 XPS 파일이 나타납니다.

Microsoft XPS 문서 작성자를 제거하고 다시 설치하고 다시 설치하는 동안 아래 단계를 따르십시오.

시작 - 제어판 - 새 프린터 추가. 그런 다음 로컬 프린터를 선택하고 새 포트를 만듭니다. 콤보 상자에서 로컬 포트를 선택하십시오. 포트 이름을 요구하는 대화 상자가 나타납니다. XPS 드라이버가 사용자에게 위치를 요청하지 않고 지정된 파일에 인쇄하려면이 출력 파일에 대한 전체 경로를 작성하십시오. 이 파일은 현재 존재하지 않아도됩니다 (예 : C : mydriverOutput.xps와 같은 것).

자세한 내용은이 링크를 참조하십시오. https://kibitzercz.blogspot.in/2012/01/building-and-using-xpsdrvsmpl- under.html

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