문제

PDF를 TIFF 이미지로 변환하려면 Java 라이브러리가 필요합니다. PDF는 팩스이며, 이미지에서 바코드 인식을 할 수 있도록 TIFF로 변환 할 것입니다. 누구든지 PDF에서 TIFF로 전환하기 위해 무료 오픈 소스 라이브러리를 추천 할 수 있습니까?

도움이 되었습니까?

해결책

면책 조항 : 나는 Atalasoft에서 일합니다

PDF를 TIFF로 변환 할 수있는 SDK가 있습니다.. 렌더링은 Foxit 소프트웨어로 구동되어 매우 강력하고 효율적인 PDF 렌더러를 만듭니다.

다른 팁

코드 라이브러리를 권장 할 수는 없지만 PDF를 비트 맵 형식으로 변환하기 위해 GhostScript를 사용하기 쉽습니다. 나는 아래 스크립트를 개인적으로 사용하여 (NetPBM Utilties를 사용하여) 첫 번째 PDF의 JPEG 썸네일로의 페이지 :

#!/bin/sh

/opt/local/bin/gs -q -dLastPage=1 -dNOPAUSE -dBATCH -dSAFER -r300 \
    -sDEVICE=pnmraw -sOutputFile=- $* |
    pnmcrop |
    pnmscale -width 240 |
    cjpeg

당신이 사용할 수있는 -sDEVICE=tiff... Ghostscript의 다양한 TIFF 하위 형식에서 직접 TIFF 출력을 얻으려면.

우리는 여기에서도 전환 PDF-> G3 TIFFS가 높고 낮은 해상도를 사용합니다. 내 경험에서 당신이 가질 수있는 최고의 도구는 Adobe PDF SDK입니다. 유일한 문제는 미친 가격입니다. 그래서 우리는 그것을 사용하지 않습니다.

우리에게 잘 작동하는 것은 고스트 스크립트, 마지막 버전은 거의 강력하며 PDF의 대부분을 올바르게 렌더링합니다. 그리고 우리는 하루 종일 꽤 많은 사람들이오고 있습니다. 생산 전환에서 GSDLL32.dll을 사용하여 수행됩니다. 그러나 시도하려면 다음 명령 줄을 사용하십시오.

gswin32c -dNOPAUSE -dBATCH -dMaxStripSize=8192 -sDEVICE=tiffg3 -r204x196 -dDITHERPPI=200 -sOutputFile=test.tif prefix.ps test.pdf

PDF를 High Res G3 TIFF로 변환합니다. Prefix.ps 코드는 다음과 같습니다.

<< currentpagedevice /InputAttributes get
0 1 2 index length 1 sub {1 index exch undef } for
/InputAttributes exch dup 0 <</PageSize [0 0 612 1728]>> put
/Policies << /PageSize 3 >> >> setpagedevice

이 SDK의 또 다른 점은 오픈 소스라는 것입니다. C와 PS (PostScript) 소스 코드를 모두 얻을 수 있습니다. 또한 다른 도구를 사용하고 있다면 PDF 렌더링에 전력을 공급 해야하는 엔진의 종류를 확인하면 GS를 사용하는 것이 발생할 수 있습니다. 예를 들어 LeadTools와 마찬가지로.

이것이 도움이되기를 바랍니다

ICEPDF 라이브러리 (Apache 2.0 라이센스)를 사용할 수 있습니다. 이 정확한 사용 사례는 예제 소스 코드 중 하나로 제공합니다.http://wiki.icesoft.org/display/pdf/multi-page+tiff+capture

아마도 PDF를 TIFF로 변환하는 것은 불필요하지 않을 수도 있습니다. 팩스는 PDF에 포함 된 이미지 일 가능성이 높 으므로이 이미지를 다시 추출 할 수 있습니다. 이미 언급 된 ITEXT 라이브러리에서는 가능해야합니다.

이것이 다른 접근법보다 더 쉬운 지 모르겠습니다.

ITEXT는 PDF를 TIFF로 변환 할 수 없습니다.

그러나 그렇게 할 수있는 상업용 라이브러리가 있습니다. JPDFimages는 PDF를 TIFF, JPEG 또는 PNG 형식의 이미지로 변환 할 수있는 100% Java 라이브러리입니다 (아마도 jbig? 확실하지 않음). 또한 반대로 수행하고 이미지에서 PDF를 만들 수 있습니다. 서버의 경우 $ 300에서 시작합니다.

다음은 C# .NET과 함께 고스트 스크립트를 사용하기위한 좋은 기사와 래퍼 클래스입니다 ... 제작에서 이것을 사용했습니다.

http://www.codeproject.com/kb/cs/ghostscriptusewithcsharp.aspx

ITEXT에 대한 훌륭한 경험이 있습니다 (지금은 5.0.6 버전을 사용하고 있습니다). 이것은 PDF로 TIFF 변환을위한 코드입니다.

private static String convertTiff2Pdf(String tiff) {

    // target path PDF
    String pdf = null;

    try {

        pdf = tiff.substring(0, tiff.lastIndexOf('.') + 1) + "pdf";

        // New document A4 standard (LETTER)
        Document document = new Document(PageSize.LETTER, 0, 0, 0, 0);

        PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(pdf));
        int pages = 0;
        document.open();
        PdfContentByte cb = writer.getDirectContent();
        RandomAccessFileOrArray ra = null;
        int comps = 0;
        ra = new RandomAccessFileOrArray(tiff);
        comps = TiffImage.getNumberOfPages(ra);

        // Convertion statement
        for (int c = 0; c < comps; ++c) {
            Image img = TiffImage.getTiffImage(ra, c + 1);
            if (img != null) {
                System.out.println("page " + (c + 1));
                img.scalePercent(7200f / img.getDpiX(), 7200f / img.getDpiY());
                document.setPageSize(new Rectangle(img.getScaledWidth(), img.getScaledHeight()));
                img.setAbsolutePosition(0, 0);
                cb.addImage(img);
                document.newPage();
                ++pages;
            }
        }

        ra.close();
        document.close();

    } catch (Exception e) {
        logger.error("Convert fail");
        logger.debug("", e);
        pdf = null;
    }

    logger.debug("[" + tiff + "] -> [" + pdf + "] OK");
    return pdf;

}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top