कनवर्ट करना मैं पीडीएफ को एसवीजी में कनवर्ट करना चाहता हूं कृपया कुछ पुस्तकालयों/निष्पादन योग्य सुझाव दें जो इसे कुशलतापूर्वक करने में सक्षम होंगे।पीडीएफ को svg
PDDocument document = PDDocument.load(pdfFile);
DOMImplementation domImpl =
GenericDOMImplementation.getDOMImplementation();
// Create an instance of org.w3c.dom.Document.
String svgNS = "http://www.w3.org/2000/svg";
Document svgDocument = domImpl.createDocument(svgNS, "svg", null);
SVGGeneratorContext ctx = SVGGeneratorContext.createDefault(svgDocument);
ctx.setEmbeddedFontsOn(true);
// Ask the test to render into the SVG Graphics2D implementation.
for(int i = 0 ; i < document.getNumberOfPages() ; i++){
String svgFName = svgDir+"page"+i+".svg";
(new File(svgFName)).createNewFile();
// Create an instance of the SVG Generator.
SVGGraphics2D svgGenerator = new SVGGraphics2D(ctx,false);
Printable page = document.getPrintable(i);
page.print(svgGenerator, document.getPageFormat(i), i);
svgGenerator.stream(svgFName);
}
यह समाधान अच्छा काम करता है, लेकिन इसे भरपूर है, जिसके परिणामस्वरूप svg फ़ाइलों का आकार (कई बार पीडीएफ से अधिक) -। मैं अपने खुद के जावा कार्यक्रम अपाचे PDFBox और बाटिक लाइब्रेरी का उपयोग कर लिखा है। मैंने यह पता लगाया है कि पाठ संपादक में svg को देखकर समस्या कहां है। यह मूल दस्तावेज़ में प्रत्येक चरित्र को अपने ब्लॉक में संलग्न करता है भले ही वर्णों के फ़ॉन्ट गुण समान हों। उदाहरण के लिए हैलो शब्द 6 अलग-अलग टेक्स्ट ब्लॉक के रूप में दिखाई देगा। क्या उपरोक्त कोड को ठीक करने का कोई तरीका है? या कृपया एक और समाधान सुझाएं जो अधिक कुशलतापूर्वक काम करेगा।
धन्यवाद की सामग्री इंकस्केप आदेश तथापि काम करने के लिए यह केवल प्रथम पृष्ठ धर्मान्तरित लगता है कि, यू का पता चलेगा एक कमांड लाइन विकल्प जो प्रत्येक पृष्ठ के लिए 1 svg उत्पन्न करेगा? – user434541
मुझे ऐसा करने का कोई तरीका नहीं पता है, और इंकस्केप मैन पेज यह इंगित नहीं करता है कि यह कार्यक्षमता कमांड लाइन इंटरफ़ेस में उजागर हुई है। मुझे लगता है कि आपके विकल्प इन इंटरफेस को इनक्सस्केप कोड को संशोधित करके जोड़ना होगा। या, आप कुछ बहुत ही हास्यास्पद और रचनात्मक कुछ कर सकते हैं, और पीडीएफ को एकाधिक एकल-पेज दस्तावेज़ों में विभाजित करने के लिए भूत-स्क्रिप्ट जैसे प्रोग्राम का उपयोग कर सकते हैं और फिर प्रत्येक पृष्ठ को व्यक्तिगत रूप से इनक्सकेप में फ़ीड कर सकते हैं। – jbeard4
शायद सबसे अच्छा समाधान पीडीएफ फ़ाइल को प्रति पृष्ठ एक फ़ाइल में विभाजित करना है। दोनों पीडीएफजेम और पीडीएफटीके ऐसा कर सकते हैं। – hlovdal