I had to do some refactoring because your code expects a directory.
Anyway, after that, here's what I got:
Exception in thread "main" java.lang.NullPointerException
at
org.apache.batik.svggen.ImageHandlerBase64Encoder.encodeImage(ImageHandlerBase64Encoder.java:157)
at
org.apache.batik.svggen.ImageHandlerBase64Encoder.handleHREF(ImageHandlerBase64Encoder.java:133)
at
org.apache.batik.svggen.ImageHandlerBase64Encoder.handleHREF(ImageHandlerBase64Encoder.java:72)
at
org.apache.batik.svggen.DefaultImageHandler.handleImage(DefaultImageHandler.java:63)
at
org.apache.batik.svggen.SimpleImageHandler.handleImage(SimpleImageHandler.java:100)
at
org.apache.batik.svggen.SVGGraphics2D.drawImage(SVGGraphics2D.java:676)
at org.apache.pdfbox.printing.PDFPrintable.print(PDFPrintable.java:264)
at com.mycompany.svgtest.Pdf2Svg.convertPdfToSvgFile(Pdf2Svg.java:140)
at com.mycompany.svgtest.Pdf2Svg.doFile(Pdf2Svg.java:69)
at com.mycompany.svgtest.Pdf2Svg.main(Pdf2Svg.java:34)
After I changed the IMAGE_DPI parameter to 0 I got an SVG file. But your
PDF isn't related to the two images you posted, it is a different one.
pom.xml segment:
<dependency>
<groupId>org.apache.xmlgraphics</groupId>
<artifactId>fop</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox-app</artifactId>
<version>2.0.21</version>
</dependency>
after reading
https://stackoverflow.com/questions/16138850/
I added
<dependency>
<groupId>org.apache.xmlgraphics</groupId>
<artifactId>batik-codec</artifactId>
<version>1.13</version>
</dependency>
now it worked with 150. Yes it has an ugly line. I tried increasing the
dpi. With 600 dpi, the line vanished. Of course, the best is to use 0,
then you get vector graphics with is the point when you're using SVG.
I tried an ordinary print to a PDF with 150 dpi and did not get the
effect. Thus I suspect it is not related to PDF. It's probably a problem
by converting images to SVG.
But all this is moot if you use "0" as dpi.
Tilman
Am 17.09.2020 um 07:56 schrieb 槻木正臣:
To Whom It May Concern
I uploaded the file, so please check
https://1drv.ms/u/s!ApGmuqgZtcofg2JhrnG195vQSpFc?e=qtmDXV
・Pdf2Svg.java
source file
・Sample01.pdf
PDF file
・Sample01_1.svg
Converted SVG file
I look forward to hearing from you.
━━━━━━━━━━━━━━━━━━━━━━━
応用技術株式会社
槻木 正臣(Tsukigi Masaomi)
〒530-0015
大阪市北区中崎西2丁目4番12号 梅田センタービル 10階
Tel:(06)6373-6101 Fax:(06)6373-6100
E-mail : ma-tsuk...@apptec.co.jp
━━━━━━━━━━━━━━━━━━━━━━━
Hello,
The source PDF file is missing. And the variable "page" is not declared
(is it 0 ?). Please try with Batik 1.13, that is the current version.
dpi 150 means that the page is "printed" as an image. If you're using
SVG, it would make more sense to use 0 so that vector graphics are used.
And PDFBox is now at 2.0.21.
Tilman
Am 07.09.2020 um 02:42 schrieb 槻木正臣:
To Whom It May Concern
I uploaded the file, so please check
https://1drv.ms/u/s!ApGmuqgZtcofg2JhrnG195vQSpFc?e=qtmDXV
I look forward to hearing from you.
━━━━━━━━━━━━━━━━━━━━━━━
応用技術株式会社
槻木 正臣(Tsukigi Masaomi)
〒530-0015
大阪市北区中崎西2丁目4番12号 梅田センタービル 10階
Tel:(06)6373-6101 Fax:(06)6373-6100
E-mail : ma-tsuk...@apptec.co.jp
━━━━━━━━━━━━━━━━━━━━━━━
Hi,
Attachments don't come through. Please upload them to a sharehoster.
Tilman
Am 30.07.2020 um 07:28 schrieb 槻木正臣:
To Whom It May Concern
I am using apache batik 1.9 and apache pdfbox 2.0.20 to convert PDF to
SVG.
When I set 150 in PDFPageable, unnecessary lines are displayed.
Is there a way around it?
PDF file
pdf.png
SVG file
svg.png
Source code
-----
PDDocument pddocument = null;
Writer out = null;
try {
pddocument = PDDocument.load(new File(loadfile));
PDFPageable document = new PDFPageable(pddocument,
Orientation.AUTO, false, 150);
DOMImplementation domImpl =
GenericDOMImplementation.getDOMImplementation();
String svgNS = "http://www.w3.org/2000/svg";
org.w3c.dom.Document svgDocument = domImpl.createDocument(svgNS,
"svg", null);
SVGGeneratorContext ctx =
SVGGeneratorContext.createDefault(svgDocument);
ctx.setEmbeddedFontsOn(true);
SVGGraphics2D svgGenerator = new SVGGraphics2D(ctx, false);
Printable printTbl = document.getPrintable(page);
printTbl.print(svgGenerator, document.getPageFormat(page), page);
out = new OutputStreamWriter(new FileOutputStream(new
File(savefile)), "UTF-8");
svgGenerator.stream(out);
svgGenerator.dispose();
} finally {
if (out != null){
out.close();
}
if(pddocument != null){
pddocument.close();
}
}
-----
I look forward to hearing from you.
━━━━━━━━━━━━━━━━━━━━━━━
応用技術株式会社
槻木 正臣(Tsukigi Masaomi)
〒530-0015
大阪市北区中崎西2丁目4番12号 梅田センタービル 10階
Tel:(06)6373-6101 Fax:(06)6373-6100
E-mail : ma-tsuk...@apptec.co.jp <mailto:ma-tsuk...@apptec.co.jp>
━━━━━━━━━━━━━━━━━━━━━━━
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@pdfbox.apache.org
For additional commands, e-mail: users-h...@pdfbox.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@pdfbox.apache.org
For additional commands, e-mail: users-h...@pdfbox.apache.org