convertir pdf a svg

Quiero convertir PDF a SVG, sugiera algunas bibliotecas / archivos ejecutables que puedan hacer esto de manera eficiente. He escrito mi propio programa java usando las bibliotecas apache PDFBox y Batik -

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);
    }

Esta solución funciona muy bien, pero el tamaño de los archivos svg resultantes es enorme (muchas veces mayor que el pdf). He descubierto dónde está el problema mirando el svg en un editor de texto. incluye cada carácter en el documento original en su propio bloque, incluso si las propiedades de fuente de los caracteres son las mismas. Por ejemplo, la palabra hola aparecerá como 6 bloques de texto diferentes. ¿Hay alguna manera de arreglar el código anterior? o sugiera otra solución que funcione de manera más eficiente.

Respuestas a la pregunta(3)

Su respuesta a la pregunta