複数のシートでSVGをPDFに変換


9

InkscapeでSVGファイルを作成しました。何枚か印刷して、ようやく大きなポスターにしたい。これらの複数のシートをPDFに変換して、どのオペレーティングシステムからでも印刷できるようにする必要があります。

私が作業しているファイル:

  • SVGのサイズは840 mm x 297 mmです。(幅×高さ)
  • 2つのA3シート(420 mm x 297 mm)でPDFを生成します。

ソリューションを自分で試したい場合は、ファイルダウンロードできます。

Inkscapeの拡張機能/スクリプトやコマンドラインツールなど、ほとんどすべてのソリューションを利用できます。変換をやり直さなければならないたびに、手動で操作する必要はありません。

私が試したがうまくいかなかったもの:

  • inkscape-pagesInkscapeに複数のページのサポートを追加しますが、特定のファイルをページに分離することはサポートしません。

(PNGやJPGなど)ラスタ画像形式でのみ仕事があるんだろうツールノー行きます

私が聞いたことのあるツールは機能するかもしれませんが、機能するかどうか、またどのようにそれらにアプローチするか不明な場合:

更新:ダウンロードリンクを追加しました。


この質問をご覧ください:ポスターの印刷(数枚の用紙に)
フレット

imagemagick(コマンド変換)を使用して、画像の上部と下部を別々に2つの異なるpdfファイルにトリミングできます。
ハリス

例:convert filename.svg -crop 100%x50% +repage filename.pdf
Harris

@MadMike、現在のワークフローについて教えてください。(つまり、手動でそれをどのように行っていますか?)
user.dz '10

1
@Sneetsher特大(2 x A3)SVGファイルがあります。仕事用に転送してそこから印刷できる形式(PDFなど)に変換したいと思います。職場では、Windowsしか利用できません。現時点では、手動で行うかどうかではなく、どのように行うかが問題になります。
MadMike、2014年

回答:


1

pdfposterパッケージを試しましたか?プロジェクトのウェブサイト「Pdfposterは、複数のページからそれを構築し、および/または大規模なメディアにそれを印刷して、大きなポスターを作成するために使用することができますそれは、通常、単一のページに印刷、入力としてPDFファイルを期待出力が再びです。 PDFファイル。ポスターを作成する複数のページが含まれている可能性があります。入力ページは、目的のサイズになるように拡大縮小されます。」

マニュアルページから簡単な例を試してみましたpdfposter -mA3 -pA0 askUbuntu.pdf printer-pages.pdf。サンプルファイル(InkscapeでPDFに変換しました)を使用すると、うまくいくようです。2x3グリッドに設定する必要がある6つのA3ページです。


ほとんど動作します。私が試したpdfposter -m a3 -p 1x2a3 askUbuntu.pdf out.pdf結果のPDFは、青の背景(pdfposter 0.6.0)の代わりに、白を持っています。必要に応じて、自分でテストできます。ここからソースPDFをダウンロードし、変換を繰り返してください。同じ結果はありますか?
MadMike 2014

@MadMike:私はあなたのPDFと同じ青い背景を得ます(私のものでは白い背景です)。Inkscapeで「名前を付けて保存」を使用してPDFを作成しましたか?私はあなたのPDFではテキストを選択できないのに気づきました。PDFエクスポートオプションで[テキストをパスに変換]オプションを選択すると、を使用した後と同じ青い背景が表示されますpdfposter。完全をpdfposter期すために、私は同じバージョンのと、バージョン0.48.4のInkscape を持っています。
ph0t0nix 2014

うん。完璧に動作します。PDFへの保存中にテキストをパスに変換しないと違いが生じます。フォントの埋め込みがプリンタにとって十分なものであることを願っています。;)
MadMike、2014

ありがとう、pdfposterも私のために働いた。開発バージョン(gitlab.com/pdftools/pdfposter)を入手する必要がありました。これは、公式のUbuntuリポジトリ(pdfposter 0.6.0-2)のものが白黒を反転させたためです。
Michal Fapso 16

2

印刷に使用する予定のプリンターの最高解像度(dpi)(600など)を直接使用して、インクスケープからPDFとして画像として保存できます。

その後、imagemagick(コマンド変換)を使用して、画像の上部と下部を別々に2つの異なるpdfファイルにトリミングできます。たとえば(ターミナルで入力):

convert askUbuntu.pdf -crop 100%x50% +repage askUbuntuSplit.pdf

次に、次のコマンドを使用して、個別のPDFファイルに分割できます。

pdftk filename.pdf burst

imagemagickとpdftkがすでにインストールされていると思います。


また、ラスタライズ取得画像を避けるために、次のオプションを試すことができます:-density 600 -define psd:fit-page=2338x -resize 2338x
ハリス

convert banner_eingang5.svg -density 600 -define psd:fit-page=2338x -resize 2338x -crop 50%x100% +repage filename.pdf私が手ラスタライズ 49x35mmの大きさでPDFを(小への道)
以下による:madmike

これはラスタライズされたPDFを提供しますか?convert -density 90 askUbuntu.svg -crop 50%x100% +repage -trim -background black askUbuntu.pdf
Harris

@Harrisは、私の知る限り、imagemagickはベクターグラフィックスを処理できません。何をしても、出力は常にラスタライズされた画像になります。
グルタニメート2014年

彼らのウェブサイトで、彼らはimagemagickがinkscapeまたはrsvg-convertを使用してsvgファイルを処理すると言っています。
ハリス

0

私はあなたのファイル(リンク切れ)を取得できなかったので、コンピューター上にあるPDFで管理しました。とにかく、これは私が進んだ方法です:

  • Scribusを起動します(Ubuntu 12.04 LTSの1.4.3
  • オプション「ダブルページ」と「左ページから開始」を選択して、新しいA3 2ページドキュメントを作成します(フランス語のScribusバージョンで作業しているため、正しい翻訳ではない可能性があります)。
  • 2ページにわたって画像フレームを作成する
  • PDFをインポート
  • 画像サイズをフレームに合わせる
  • PDFとしてエクスポート
  • 印刷する

結果は、こちらからダウンロードできるアーカイブにあります。http//www.filedropper.com/2a3tar_1 (1.4 Mo)

発生する可能性のある問題は、デスクトッププリンターが通常持っている技術的マージンに関連しています。

この場合、提供される2A3bis.slaファイルのように、オーバーラップする2つの画像フレームを作成できます。


ダウンロードリンクを更新しました。
MadMike 14年

0

SVGはXMLであり、このPythonスクリプトを使用してスライスを生成できます。実際には、スライスはしませんが、viewBoxターゲットファイルのみを表示するために、の異なる値を持つ同じ入力ファイルのコピーを使用します。

svg_slice.py

#!/usr/bin/env python

import sys, os.path
import xml.etree.ElementTree as ET

fin=sys.argv[-1]
hsplit=int(sys.argv[1])
vsplit=int(sys.argv[2])

tree = ET.parse(fin)
root = tree.getroot()

hstep=float(root.attrib['width'])/hsplit
vstep=float(root.attrib['height'])/vsplit

root.attrib['width']=str(hstep)
root.attrib['height']=str(vstep)

for i in range(hsplit):
    for j in range(vsplit):
        root.attrib['viewBox']='%.4f %.4f %.4f %.4f' % (i*hstep, j*vstep, hstep, vstep)
        tree.write('cell_%i-%i_%s' % (i,j,os.path.basename(fin)))
  1. スライスを生成する

    python svg_slice.py 2 1 askUbuntu.svg
    

    すなわち:2x1グリッド

  2. 次に、Inkscapeを使用して各スライス/セルのPDFをエクスポートします

    for i in $(ls cell_*); do inkscape $i --export-pdf=$i.pdf; done;
    

ls cell_*

cell_0-0_askUbuntu.svg      cell_1-0_askUbuntu.svg
cell_0-0_askUbuntu.svg.pdf  cell_1-0_askUbuntu.svg.pdf
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.