PNG to SVG Convertion - Invalid byte 1 of 1-byte UTF-8 sequence

66 Views Asked by At

I am trying like this:

public class ImageToSVGConverterTool {

    public static void main(String[] args) {
        String inputImagePath = "C:\\Users\\path\\facebook.png"; // Replace with the path to your input image
        String outputSVGPath = "C:\\Users\\path\\OUTPUT\\output_image.svg"; // Replace with the desired output SVG file path
        //FileUtils.createNewFile(outputSVGPath);
        System.out.println(FileUtils.isImageFile(outputSVGPath));
        System.out.println(new File(outputSVGPath).isFile());
        try {
            convertImageToSVG(inputImagePath, outputSVGPath);
            System.out.println("Image converted to SVG successfully.");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static void convertImageToSVG(String inputImagePath, String outputSVGPath)
            throws IOException, TranscoderException {
        File inputFile = new File(inputImagePath);
        File outputFile = new File(outputSVGPath);

        ImageTranscoder transcoder = new PNGTranscoder(); // Change to PNGTranscoder if input is PNG
        //ImageTranscoder transcoder = new JPEGTranscoder(); // Change to PNGTranscoder if input is PNG

        // Set the output file
        FileOutputStream outputStream = new FileOutputStream(outputFile);
        TranscoderOutput transcoderOutput = new TranscoderOutput(outputStream);

        // Set the input image
        TranscoderInput transcoderInput = new TranscoderInput(inputFile.toURI().toString());

        // Perform the conversion
        transcoder.transcode(transcoderInput, transcoderOutput);

        // Close the output stream
        outputStream.close();
    }
}

My initail input file facebook icon downloaded from net facebook.png Outputfile is empty svg file.

But I am getting error like this

org.apache.batik.transcoder.TranscoderException: null
Enclosed Exception:
Invalid byte 1 of 1-byte UTF-8 sequence.
    com.uml.svg.tools.ImageToSVGConverterTool.convertImageToSVG(ImageToSVGConverterTool.java:50)
    at com.uml.svg.tools.ImageToSVGConverterTool.main(ImageToSVGConverterTool.java:24)
Caused by: org.apache.batik.dom.util.SAXIOException: Invalid byte 1 of 1-byte UTF-8 sequence.
    
Caused by: org.xml.sax.SAXParseException; systemId: file:/C:/Users/ravmaddi/Desktop/facebook.png; lineNumber: 1; columnNumber: 1; Invalid byte
0

There are 0 best solutions below