2016-11-14 37 views
0

我想打印一個多線在瀏覽器繪製不進行縮放,因此它可以被安裝在瀏覽器中繪製。一英寸需要一英寸。對齊標記和horz/vert頁碼會是一個優點。打印多頁的行不scalling

我與SVG玩耍了完成這一失敗了。我還創建了一個12英寸×12英寸盒子的pdf,看起來像我想要的。

我創建了我嘗試的fiddle。它打印但不是按比例,只打印在1頁上。這裏是JavaScript。

 printSVG = function() { 
      alert("Print") 
      var popUpAndPrint = function() { 

      var printWindow = window.open('', 'PrintMap'); 
      var toPrint = $('#toPrint') 

      printWindow.document.writeln(toPrint.html()) 
      printWindow.document.close(); 
      printWindow.print(); 
      printWindow.close(); 
      }; 
      setTimeout(popUpAndPrint, 500); 
     }; 

和SVG

<svg width="12in" height="12in"> 
    <polyline points=" 
     0,0 
     1200,1200 
     " style="fill:none;stroke:black;stroke-width:1;" /> 
    <polyline points=" 
     1200,0 
     0,1200 
     " style="fill:none;stroke:black;stroke-width:1" /> 
    <polyline points=" 
     0,0 
     1200,0 
     1200,1200 
     0,1200 
     0,0 
     " style="fill:none;stroke:black;stroke-width:1" /> 
</svg> 

回答

0

我無法得到它(在Chrome)完美服從的12英寸的測量,但是我差點當我告訴它使用更大尺寸:https://jsfiddle.net/dnx5s6h1/16/

使用CSS(複製DIV內部),我告訴瀏覽器期望該頁面是一個普通的8.5in X 11英寸,其含量爲20英寸。然後,它終於服從並打印在多個頁面上。

<style> 
    @media only print 
    { 
    html, body 
    { 
     width: 8in; 
     height: 10in; 
     margin: .5in; 
    } 
    } 
</style> 

隨意添加邊距您SVG對象得到它在你的頁面的底部打印。

+0

感謝奈特。我感謝你的迴應。對不起,響應緩慢。我沒有收到有人回覆的電子郵件通知。 – Gary

+0

我添加了你的CSS並添加了。當我嘗試https://jsfiddle.net/lifeofgary/dnx5s6h1/時,它仍然打印一頁。我正在使用Chrome版本54.0.2840.59(64位)並打印到pdf進行測試。 – Gary

+0

@加里嘿加里,我很抱歉。我現在還沒有登錄到SO一個星期。問題在於Javascript會打開一個新窗口,然後將元素複製到該窗口中。在你的鏈接中,CSS不被複制。這就是爲什麼在我的鏈接(/ 16 /鏈接)中,CSS被複制的HTML內聯。試試看? – Nate

0

我還沒有發現在瀏覽器打印SVG的好方法。 Pdf支持更好,所以我會嘗試jsPDF