web-dev-qa-db-fra.com

Conversion de SVG en PDF sur plusieurs feuilles

J'ai un fichier SVG créé dans Inkscape. Je veux l’imprimer sur plusieurs feuilles pour former enfin une grande affiche. J'ai besoin de ces multiples feuilles converties en PDF pour que je puisse les imprimer à partir de n'importe quel système d'exploitation.

Le fichier sur lequel je travaille:

  • SVG a une taille de 840 mm x 297 mm. (largeur x hauteur)
  • Générez un PDF avec deux feuilles A3 (420 mm x 297 mm).

Vous pouvez télécharger le fichier si vous voulez essayer votre solution vous-même.

Je suis ouvert à presque toutes les solutions, qu’il s’agisse d’extensions/scripts Inkscape ou d’outils de ligne de commande. Je ne veux tout simplement pas perdre mon temps manuellement chaque fois que je dois refaire la conversion.

Choses que j'ai essayées et qui n'ont pas fonctionné:

  • inkscape-pages ajoute la prise en charge de plusieurs pages à Inkscape, mais aucune prise en charge permettant de séparer un fichier donné des pages.

Les outils qui ne fonctionnent qu'avec le format d'image raster (comme PNG ou JPG) sont les suivants: no-go :

J'ai entendu dire que certains outils pourraient fonctionner, mais je ne sais pas s'ils le feront et comment les aborder:

Mise à jour: Ajouté lien de téléchargement .

9
MadMike

Avez-vous essayé le package pdfposter? De site Web du projet : "Pdfposter peut être utilisé pour créer une grande affiche en la construisant à partir de plusieurs pages et/ou en l'imprimant sur un support de grande taille. un fichier PDF, imprimant normalement sur une seule page. Le résultat est à nouveau un fichier PDF, contenant éventuellement plusieurs pages constituant le poster. La page d'entrée sera mise à l'échelle pour obtenir le résultat souhaité. taille. "

J'ai essayé un exemple rapide tiré de la page de manuel: pdfposter -mA3 -pA0 askUbuntu.pdf printer-pages.pdf avec votre fichier exemple (que j'ai converti en PDF dans Inkscape) et il semble fonctionner: 6 pages au format A3 à configurer une grille 2 × 3.

1
ph0t0nix

Vous pouvez enregistrer l’image au format PDF d’inkscape directement en utilisant la résolution la plus élevée (dpi), disons 600, de l’imprimante que vous prévoyez d’utiliser pour l’impression.

Ensuite, vous pouvez utiliser imagemagick (commande convert) pour découper indépendamment les parties supérieure et inférieure de l'image en deux fichiers pdf différents. Par exemple (tapé sur un terminal):

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

Vous pouvez ensuite le scinder en fichiers pdf individuels en utilisant:

pdftk filename.pdf burst

Je suppose que imagemagick et pdftk sont déjà installés.

2
Harris

SVG est un fichier XML, vous pouvez utiliser ce script python pour générer des tranches. En fait, il ne le découpe pas, mais utilise la même copie du fichier d'entrée avec des valeurs différentes de viewBox pour afficher uniquement la zone cible.

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. Générer des tranches

    python svg_slice.py 2 1 askUbuntu.svg
    

    c'est-à-dire: grille 2x1

  2. Ensuite, utilisez Inkscape pour exporter PDF pour chaque tranche/cellule.

    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
0
user.dz

comme je n'ai pas pu récupérer votre fichier (lien brisé), j'ai réussi à utiliser un PDF sur mon ordinateur. Quoi qu'il en soit, voici comment j'ai procédé:

  • Lancer Scribus (1.4.3 sur Ubuntu 12.04 LTS)
  • créer un nouveau document A3 de 2 pages avec les options "Double page" et "Commencer sur la page de gauche" sélectionnées (peut-être pas la traduction correcte, car je travaille sur une version française de Scribus).
  • créer un cadre sur les deux pages
  • importer un PDF
  • définir la taille de l'image pour l'ajuster au cadre
  • exporter en PDF
  • imprime le

Le résultat est dans les archives que vous pouvez télécharger ici: http://www.filedropper.com/2a3tar_1 (1.4 Mo)

Le problème qui peut survenir est lié aux marges techniques habituellement générées par les imprimantes de bureau.

Dans ce cas, vous pouvez créer 2 images qui se chevauchent, comme dans le fichier 2A3bis.sla fourni.

0
fremo