복잡한 Visio 다이어그램을 가벼운 SVG 그래픽으로 변환하는 것은 웹에서 다이어그램을 렌더링하는 최신 Java 애플리케이션에 자주 필요한 작업입니다. Conholdate.Total for Java는 Java에서 Visio를 SVG로 변환하는 작업을 단순화하는 강력한 SDK를 제공합니다. 이 가이드에서는 전체 코드 예제를 확인하고, 변환 옵션을 구성하는 방법, Maven으로 라이브러리를 설정하는 방법, 그리고 다중 페이지 Visio 파일을 효율적으로 처리하는 방법을 배웁니다. 마지막까지 읽으면 Visio를 SVG로 변환하는 기능을 자체 프로젝트에 통합할 준비가 됩니다.

전체 코드 예제: Visio를 SVG로 변환 (Java)

이 예제는 Conholdate.Total for Java를 사용하여 Visio 파일을 SVG로 변환하는 방법을 보여줍니다.

import com.groupdocs.conversion.Converter;
import com.groupdocs.conversion.options.convert.SvgConvertOptions;
import java.io.File;

public class VisioToSvgConverter {
    public static void main(String[] args) {
        // Input Visio file (VSD, VSDX, VDX, VSS, VSSX, VST, VSTX)
        String inputVisioPath = "sample.vsdx";

        // Directory where SVG files will be saved
        String outputDirectoryPath = "output_svg";

        // Ensure output directory exists
        File outputDir = new File(outputDirectoryPath);
        if (!outputDir.exists()) {
            boolean created = outputDir.mkdirs();
            if (!created) {
                System.err.println("Failed to create output directory: " + outputDirectoryPath);
                return;
            }
        }

        // Perform conversion
        try (Converter converter = new Converter(inputVisioPath)) {
            // Configure SVG conversion options
            SvgConvertOptions svgOptions = new SvgConvertOptions();
            svgOptions.setScale(1.0);               // 100% scale
            svgOptions.setEmbedImages(true);        // Embed images directly into SVG
            svgOptions.setPageSize(SvgConvertOptions.PageSize.A4); // Example page size
            svgOptions.setQuality(100);             // Maximum quality

            // Get total number of pages (each page will become a separate SVG file)
            int pageCount = converter.getPageCount();

            // Convert each page individually – useful for large Visio files
            for (int pageIndex = 0; pageIndex < pageCount; pageIndex++) {
                svgOptions.setPageNumber(pageIndex + 1); // Pages are 1‑based
                String outputSvgPath = outputDirectoryPath + File.separator + "page_" + (pageIndex + 1) + ".svg";

                // Convert current page to SVG
                converter.convert(outputSvgPath, svgOptions);
                System.out.println("Converted page " + (pageIndex + 1) + " to " + outputSvgPath);
            }
        } catch (Exception ex) {
            System.err.println("Error during Visio to SVG conversion: " + ex.getMessage());
            ex.printStackTrace();
        }
    }
}

참고: 이 코드 예제는 핵심 기능을 보여줍니다. 프로젝트에서 사용하기 전에 파일 경로와 구성 값을 실제 환경에 맞게 업데이트하고, 모든 필수 종속성이 올바르게 설치되었는지 확인하며, 개발 환경에서 충분히 테스트하십시오. 문제가 발생하면 공식 문서를 참조하거나 지원 팀에 문의하십시오.

Java에서 Visio를 SVG로 변환하는 방법

변환 프로세스는 몇 가지 명확한 단계로 나눌 수 있습니다:

  1. 컨버터 초기화 - Converter 클래스는 소스 Visio 파일 경로를 사용하여 인스턴스화됩니다.
try (Converter converter = new Converter(inputVisioPath)) {

이 클래스는 Conholdate.Total SDK의 일부이며 VSD, VSDX, VDX, VSS, VSSX, VST 및 VSTX 파일 로드를 처리합니다. 자세한 내용은 API 참조를 참조하십시오.

  1. SVG 옵션 구성 - SvgConvertOptions 인스턴스를 사용하면 스케일링, 이미지 포함, 페이지 크기 및 품질을 설정할 수 있습니다.
SvgConvertOptions svgOptions = new SvgConvertOptions();
svgOptions.setScale(1.0);
svgOptions.setEmbedImages(true);
svgOptions.setPageSize(SvgConvertOptions.PageSize.A4);
svgOptions.setQuality(100);

이러한 설정은 생성된 SVG 파일의 모양과 해상도를 제어합니다.

  1. 페이지 수 확인 - converter.getPageCount()는 Visio 문서의 페이지 수를 반환하며, 각 페이지를 개별적으로 처리할 수 있게 합니다.
int pageCount = converter.getPageCount();
  1. 페이지 순회 - 각 페이지마다 setPageNumber 메서드는 현재 페이지를 선택하고, converter.convert는 SVG 출력을 대상 경로에 기록합니다.
for (int pageIndex = 0; pageIndex < pageCount; pageIndex++) {
    svgOptions.setPageNumber(pageIndex + 1);
    String outputSvgPath = outputDirectoryPath + File.separator + "page_" + (pageIndex + 1) + ".svg";
    converter.convert(outputSvgPath, svgOptions);
}

이 방법은 각 페이지를 별도로 처리하므로 대용량 Visio 파일에 대해 메모리 효율적입니다.

  1. 예외 처리 - 변환 중 발생하는 모든 오류를 포착하고 출력하여 지원되지 않는 도형과 같은 문제를 디버그하는 데 도움이 됩니다.

이러한 단계를 따르면 SDK는 각 Visio 페이지를 별개의 고품질 SVG 파일로 변환하여 웹 표시 또는 추가 처리에 사용할 수 있습니다.

Visio to SVG 워크플로 - 전제 조건 및 설정

코드를 실행하기 전에 Maven 프로젝트에 Conholdate.Total SDK를 설정하십시오.

  1. Conholdate Maven 저장소 추가를 pom.xml에:
<repositories>
    <repository>
        <id>conholdate-repo</id>
        <name>Conholdate Maven Repository</name>
        <url>https://repository.conholdate.com/repo/</url>
    </repository>
</repositories>
  1. SDK 종속성 추가:
   <dependency>
       <groupId>com.conholdate</groupId>
       <artifactId>conholdate-total</artifactId>
       <version>24.9</version>
       <type>pom</type>
   </dependency>
  1. 최신 SDK 바이너리를 다운로드 수동 설치를 선호하는 경우. 파일은 다운로드 페이지에서 사용할 수 있습니다.

  2. Java version - SDK는 Java 8 이상이 필요합니다. 프로젝트의 source 및 target 호환성이 이에 맞게 설정되어 있는지 확인하십시오.

  3. License - 프로덕션 사용을 위해서는 temporary license page에 설명된 대로 유효한 라이선스를 적용하십시오. 라이선스가 없으면 SDK가 평가 모드로 실행되며 기능이 제한됩니다.

종속성이 해결되면, IDE에서 직접 또는 명령줄을 통해 VisioToSvgConverter 클래스를 컴파일하고 실행할 수 있습니다.

결론

Java에서 Visio를 SVG로 변환하는 작업은 Conholdate.Total for Java의 강력한 기능을 활용하면 간단해집니다. SDK는 지원되는 모든 Visio 형식을 처리하고, SVG 출력에 대한 세밀한 제어를 제공하며, 다중 페이지 문서에서도 원활하게 확장됩니다. 단계별 가이드를 따라 이 기능을 Java 기반 워크플로에 통합할 수 있으며, 웹 서비스, 데스크톱 뷰어 또는 자동 보고 파이프라인을 구축할 때도 활용할 수 있습니다. 프로덕션 배포를 위해 적절한 라이선스를 확보하는 것을 잊지 마세요; 가격 페이지에서 가격 옵션을 확인하고, 임시 라이선스 페이지에서 임시 라이선스를 요청할 수 있습니다. 즐거운 코딩 되세요!

자주 묻는 질문

  • Java에서 Conholdate.Total을 사용하여 Visio를 SVG로 변환하려면 어떻게 해야 하나요?
    Converter 클래스와 SvgConvertOptions를 사용하여 전체 코드 예제와 같이 수행합니다. SDK는 파일 처리를 추상화하여 구성 및 출력 경로에 집중할 수 있게 합니다. 자세한 사용법은 Conholdate.Total for Java 문서에 나와 있습니다.

  • SVG 출력에 지원되는 Visio 파일 형식은 무엇입니까?
    라이브러리는 VSD, VSDX, VDX, VSS, VSSX, VST 및 VSTX 파일을 지원합니다. 이 모든 파일은 동일한 API 호출로 처리할 수 있으며, 고품질 SVG 파일을 생성합니다.

  • 프로덕션에서 변환을 실행하려면 라이선스가 필요합니까?
    예. 프로덕션 환경에서는 유효한 라이선스가 필요합니다. 임시 라이선스는 임시 라이선스 페이지에서 얻을 수 있으며, 전체 가격은 가격 페이지에서 확인할 수 있습니다.

  • SVG 출력(예: 이미지 삽입 또는 페이지 크기 설정)을 사용자 정의할 수 있나요?
    물론입니다. SvgConvertOptions 클래스는 setEmbedImages, setPageSize, setScale, setQuality와 같은 속성을 제공합니다. convert를 호출하기 전에 이러한 속성을 조정하여 특정 렌더링 요구 사항에 맞추세요.

관련 기사