कई शीट पर एसवीजी को पीडीएफ में बदलें


9

मेरे पास Inkscape में एक SVG फ़ाइल बनी है। मैं अंत में एक बड़ा पोस्टर बनाने के लिए इसे कई शीट पर प्रिंट करना चाहता हूं। मुझे पीडीएफ में परिवर्तित इन कई शीटों की आवश्यकता है ताकि मैं इसे किसी भी ऑपरेटिंग सिस्टम से प्रिंट कर सकूं।

मैं जिस फ़ाइल के साथ काम कर रहा हूँ:

  • एसवीजी का आकार 840 मिमी x 297 मिमी है। (चौड़ाई x ऊँचाई)
  • दो A3 शीट (420 मिमी x 297 मिमी) के साथ एक पीडीएफ उत्पन्न करें।

यदि आप अपने समाधान को स्वयं आज़माना चाहते हैं तो आप फ़ाइल डाउनलोड कर सकते हैं।

मैं लगभग किसी भी समाधान के लिए खुला हूं, यह इंकस्केप एक्सटेंशन / स्क्रिप्ट या कमांड-लाइन टूल हो। मैं हर बार मैन्युअल रूप से गड़बड़ नहीं करना चाहता, क्योंकि मुझे रूपांतरण को फिर से करना है।

चीजें जो मैंने कोशिश की और काम नहीं किया:

  • इंकस्केप -पेज कई पृष्ठों के लिए इंकस्केप में समर्थन जोड़ता है, लेकिन किसी भी फाइल को पृष्ठों में अलग करने के लिए कोई समर्थन नहीं करता है।

उपकरण जो केवल रेखापुंज छवि प्रारूप के साथ काम करेंगे (जैसे पीएनजी या जेपीजी) एक नहीं हैं :

उपकरण जो मैंने सुना है कि काम कर सकते हैं, लेकिन मैं अनिश्चित हूं कि वे क्या करेंगे और कैसे उनसे संपर्क करेंगे:

अद्यतन: डाउनलोड लिंक जोड़ा गया ।


इस प्रश्न पर एक नज़र डालें: एक पोस्टर मुद्रण (कागज की कई शीटों पर)
fret

आप छवि के ऊपरी और निचले हिस्सों को दो अलग-अलग पीडीएफ फाइलों में स्वतंत्र रूप से क्रॉप करने के लिए इमेजमैगिक (कमांड कन्वर्ट) का उपयोग कर सकते हैं।
हैरिस

उदाहरण के लिए:convert filename.svg -crop 100%x50% +repage filename.pdf
हैरिस

@MadMike, क्या आप अपने वर्तमान कार्य प्रवाह का उल्लेख कर सकते हैं? (यानी आप इसे मैन्युअल रूप से कैसे कर रहे हैं?)
user.dz 10:00

1
@ स्नेसेटेर I के पास ओवरसीज़ (2 x A3) SVG फाइल है। मैं इसे एक प्रारूप (जैसे पीडीएफ) में परिवर्तित करना चाहूंगा कि मैं काम करने के लिए परिवहन कर सकता हूं और इसे वहां से प्रिंट कर सकता हूं। काम के दौरान मेरे पास केवल विंडोज उपलब्ध होगा। अभी यह मैन्युअल रूप से या नहीं करने का सवाल नहीं है, लेकिन यह कैसे करना है।
मैडमाइक

जवाबों:


1

क्या आपने pdfposterपैकेज की कोशिश की है? से परियोजना की वेबसाइट : "Pdfposter एकाधिक पृष्ठों से यह निर्माण और / या बड़े मीडिया पर यह मुद्रण द्वारा एक बड़े पोस्टर बनाने के लिए इस्तेमाल किया जा सकता है यह एक पीडीएफ फाइल इनपुट के रूप में की उम्मीद है, आम तौर पर एक ही पृष्ठ पर मुद्रण उत्पादन फिर से एक है।। पीडीएफ फाइल, हो सकता है कि पोस्टर के निर्माण में एक साथ कई पेज हों। वांछित आकार प्राप्त करने के लिए इनपुट पेज को बढ़ाया जाएगा। "

मैंने मैन पेज से एक त्वरित उदाहरण की कोशिश की: pdfposter -mA3 -pA0 askUbuntu.pdf printer-pages.pdfआपकी नमूना फ़ाइल के साथ (जिसे मैंने इंकस्केप में पीडीएफ में बदल दिया), और यह काम करने लगता है: 6 ए 3 पेज जिन्हें 2 × 3 ग्रिड में सेट करने की आवश्यकता है।


लगभग काम करता है। मैंने कोशिश की है pdfposter -m a3 -p 1x2a3 askUbuntu.pdf out.pdfकि परिणामी पीडीएफ में सफेद के बजाय एक नीली पृष्ठभूमि (pdfposter 0.6.0) हो। आप चाहें तो इसका परीक्षण स्वयं कर सकते हैं। स्रोत पीडीएफ यहां डाउनलोड करें और रूपांतरण दोहराएं। क्या आपका भी यही नतीजा है?
मैडमाइक

@MadMike: मुझे आपकी पीडीएफ के साथ एक ही नीले रंग की पृष्ठभूमि मिल रही है (लेकिन मेरे साथ एक सफेद)। क्या आपने PDF बनाने के लिए Inkscape में 'Save as' का उपयोग किया था? मैंने देखा कि आपके पीडीएफ में मैं टेक्स्ट का चयन नहीं कर सकता, जबकि मैं अपना कर सकता हूं। अगर मैं पीडीएफ एक्सपोर्ट ऑप्शन में 'कन्वर्ट टेक्स्ट टू पाथ्स' विकल्प चुनता हूं तो मुझे वही ब्लू बैकग्राउंड मिलता है, जैसा आप इस्तेमाल करने के बाद करते हैं pdfposter। पूर्णता के लिए: मेरे पास pdfposterInkscape का एक ही संस्करण और 0.48.4 संस्करण है।
ph0t0nix

Jup। अच्छी तरह से काम। पीडीएफ में सहेजते समय पाठ को पथ में परिवर्तित नहीं करने से फर्क पड़ता है। अब मुझे आशा है कि प्रिंटर के लिए फ़ॉन्ट एम्बेडिंग काफी अच्छा है। ;)
मैडमाइक

धन्यवाद, pdfposter मेरे लिए भी काम किया। मुझे सिर्फ इसका विकास संस्करण ( gitlab.com/pdftools/pdfposter ) प्राप्त करना था , क्योंकि आधिकारिक उबंटू भंडार (pdfposter 0.6.0-2) से काले और सफेद रंगों का उलटा है।
मिकाल फाप्सो

2

आप मुद्रण के लिए उपयोग करने की योजना प्रिंटर के 600, सीधे उच्चतम रिज़ॉल्यूशन (डीपीआई) का उपयोग करके छवि को पीडीएफ के रूप में सहेज सकते हैं।

बाद में, आप छवि के ऊपरी और निचले हिस्सों को दो अलग-अलग पीडीएफ़ फ़ाइलों में स्वतंत्र रूप से क्रॉप करने के लिए इमेजमैगिक (कमांड कन्वर्ट) का उपयोग कर सकते हैं। उदाहरण के लिए (एक टर्मिनल पर टाइप किया गया):

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

तब आप इसे अलग-अलग पीडीएफ फाइलों में विभाजित कर सकते हैं:

pdftk filename.pdf burst

मुझे लगता है कि इमेजमैगिक और पीडीएफटी पहले से इंस्टॉल हैं।


छवि को खराब होने से बचाने के लिए आप निम्न विकल्पों को भी आजमा सकते हैं:-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मुझे 49x35 मिमी (छोटे तरीके से) के आकार के साथ एक rasterized pdf मिलती है
MadMike

क्या यह आपको एक rasterized pdf देता है:convert -density 90 askUbuntu.svg -crop 50%x100% +repage -trim -background black askUbuntu.pdf
हैरिस

@ हैरिस जहां तक ​​मुझे पता है कि इमेजमैजिक वेक्टर ग्राफिक्स को हैंडल नहीं कर सकता है। आप जो कुछ भी करते हैं, आउटपुट हमेशा एक rasterized छवि होगी।
Glutanimate

अपनी वेबसाइट में वे कहते हैं कि इमेजमैगीक svg फ़ाइलों को संभालने के लिए इंकस्केप या rsvg-Convert का उपयोग करता है।
हैरिस

0

जैसे-जैसे मैं आपकी फाइल (टूटी हुई कड़ी) प्राप्त नहीं कर सका, मैं अपने कंप्यूटर पर पीडीएफ के साथ प्रबंधित हुआ। वैसे भी, यह है कि मैं कैसे आगे बढ़ा:

  • स्क्रिप्स लॉन्च करें ( Ubuntu 12.04 LTS पर 1.4.3 )
  • विकल्प "डबल पेज" और "बाएं पृष्ठ पर शुरू" चयनित के साथ नए A3 2 पृष्ठों का दस्तावेज़ बनाएं (शायद सही अनुवाद नहीं है क्योंकि मैं एक फ्रेंच स्क्रिप्स संस्करण पर काम कर रहा हूं)।
  • दो पृष्ठों पर एक छवि फ़्रेम बनाएं
  • आयात पीडीएफ
  • सेट छवि आकार फ्रेम करने के लिए फिट
  • PDF के रूप में निर्यात करें
  • इसे छापो

परिणाम उस संग्रह में है जिसे आप यहाँ डाउनलोड कर सकते हैं: http://www.filedropper.com/2a3tar_1 (1.4 Mo)

जो समस्या हो सकती है वह तकनीकी मार्जिन डेस्कटॉप प्रिंटर से संबंधित होती है।

इस स्थिति में, आप 2 चित्र फ़्रेम बना सकते हैं, जो प्रदान की गई 2A3bis.sla फ़ाइल की तरह ओवरलैप करते हैं ।


मैंने डाउनलोड लिंक को अपडेट कर दिया है।
मेडमाइक

0

एसवीजी एक एक्सएमएल है, आप स्लाइस उत्पन्न करने के लिए इस पायथन स्क्रिप्ट का उपयोग कर सकते हैं। दरअसल, यह इसे स्लाइस नहीं करता है, लेकिन 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. फिर प्रत्येक स्लाइस / सेल के लिए पीडीएफ निर्यात करने के लिए इंकस्केप का उपयोग करें

    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
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.