2016-07-19 2 views
1
Private Sub document_PrintPage(ByVal sender As Object, _ 
    ByVal e As System.Drawing.Printing.PrintPageEventArgs) _ 
     Handles docToPrint.PrintPage 

    ' Insert code to render the page here. 
    ' This code will be called when the control is drawn. 

    ' The following code will render a simple 
    ' message on the printed document. 
    'Dim text As String = "In document_PrintPage method." 
    'Dim printFont As New System.Drawing.Font _ 
    ' ("Arial", 35, System.Drawing.FontStyle.Regular) 

    '' Draw the content. 
    'e.Graphics.DrawString(text, printFont, _ 
    ' System.Drawing.Brushes.Black, 10, 10) 
End Sub 

이 절차를 호출하여 인쇄용 문서를 렌더링하는 프린터 대화 상자를 표시하는 코드가 있습니다. 인쇄하려는 문서는 URL에서 HTML 웹 페이지로 액세스 할 수 있으며 웹 페이지는 인쇄용으로 사용할 수 있습니다. 위의 샘플 코드는 문자열 만 렌더링하기 위해 필요한 것을 수행하지 않습니다. 그게 작동하도록 만들 수 있다면 system.drawing.graphics.drawimage을 사용하려고 생각했습니다. 어떤 아이디어? HTML 페이지를 이미지 데이터 유형으로 변환하는 과정을 완전히 파악하는 데 문제가 있습니다. 그게 필요하지 않다면, 모든 것이 더 좋습니다.인쇄 할 수 있도록 printdocument 클래스에 이미지가있는 html 문서를 어떻게 렌더링 할 수 있습니까?

답변

0

System.Windows.Forms.WebBrowser를 사용할 수없는 이유가 있습니까?

Print() 메소드가있어서 작업이 쉬워 진 것 같습니다. . . 8-)

HTML을 인쇄용 이미지로 렌더링하는 것은 쉬운 일이 아닙니다. 한 가지 방법이나 다른 방법으로 라이브러리를 활용하는 방법을 알고 있어야합니다.

+0

답장을 보내 주셔서 감사합니다. 위의 코드는 내 실제 요구에 쓸모가 없었을 것입니다. 그러나 VB .NET 디버거에서 코드를 실행하는 경우가 그다지 확실하지 않았습니다. 원격으로 활성화 된 웹 페이지에서 호출 할 수 있어야하며, 위 코드는 서버 측만 실행합니다. 내가 원격으로 표시된 프린터 대화 상자에 대한 자바 스크립트 인쇄 상자로 전환했습니다. 나는 나의 현재 상태를 나의 대답으로 게시했다. –

0

먼저 프린터 대화 상자 호출을 변경하여 클라이언트 측에서 javascript 함수를 사용하도록했습니다. 그것은 쉽다. 다음으로 소스로로드 된 위성지도를 둘러싸는 직사각형에 인쇄 할 영역을 iframe에 격리시켜야했습니다. 내 이해 자바 스크립트 프린터 대화 상자가 프린터에 전체 페이지를 덤프 것이므로 여러 가지 시도하고 결국 프린터 대화 상자 및 iframe 호출하는 HTML 단추 태그가있는 ASP 패널의 자체 div 구역에 iframe을 묶었습니다. 이것은지도 만 인쇄하기에 충분했습니다. 이것을 허용하는 데 필요한 한 가지 점은 하위 도메인을 사용하여 브라우저를 속여 iframe 호스트와 문서 호스트가 같은 도메인에 있다고 생각하도록해야한다는 것입니다. 이미 매핑 회사 및 현지 호스팅 업체와 협력하여 그 부분을 끝내라. 남은 유일한 일은 클릭하여 프린터 대화 상자를 열 때지도의 선택된 줌 상태를 유지하도록 iframe을 가져 오는 것입니다. ASP 패널에서 뷰를 고정시키는 방법이나 다른 트릭으로 인해이를 가능하게 할 수있는 방법에 대한 의견을 다른 질문에 게시 할 것입니다.

+0

저는 오늘 밤 집에서 iframe 맵핑의 자바 스크립트 인쇄를 테스트 할 수있었습니다. 인쇄를 위해 html 단추를 클릭 할 때 iframe 새로 고침 축소에 대한 내 관심사는 아무 이유없이 명백하게 나타났습니다. 축소가 발생하기 전에 이미지가 프린터로 전송됩니다. 줌의 모든 수준에서지도의 스냅 샷을 얻을 수 있습니다. . 이것이 내가 필요한 모든 것입니다.이 도구는 주변의 매핑 도구 모음없이지도를 표시 할 수있는 매핑 애플릿을 즉시 얻을 수있게 될 것입니다. 현재 마우스를 클릭하면 도구 모음을 수납 할 수 있습니다. –

관련 문제