2016-11-14 14 views
0

複数ページの線画をスケーリングせずにブラウザーで印刷して組み立てることができます。 1インチは1インチにする必要があります。アライメントマークと水平/垂直ページ番号はプラスになります。複数ページの線画をスケーリングせずにブラウザーで印刷

私はこれを達成するためにSVGで遊んだことがあり、失敗しました。私はまた、12 "x 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

私は完全に12インチの測定に従うこと(Chromeで)それを得ることができませんでしたが、私は大きな寸法を使用するように言ったとき、私は近くに来た:https://jsfiddle.net/dnx5s6h1/16/

CSSを使って(コピーされたDIVの中で)、私はそのページが通常の8.5インチ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/を試しても、1ページも印刷されます。私はChromeバージョン54.0.2840.59(64ビット)を使用しており、テストのためにpdfに印刷しています。 – Gary

+0

@Gary Hey Gary、すみません。私は今一週間SOにログインしていません。問題は、Javascriptが新しいウィンドウを開き、そのウィンドウに要素をコピーすることです。あなたのリンクでは、CSSはコピーされていません。だからこそ私のリンク(/ 16/link)では、CSSはコピーされるHTMLのインラインです。試してみてください。 – Nate

0

ブラウザでSVGを印刷する方法がありません。 Pdfはより良くサポートされていますので、私はjsPDFを試してみます。

関連する問題