Хорошая библиотека для преобразования PDF в TIFF? [закрыто]

Мне нужна библиотека Java для преобразования PDF-файлов в изображения TIFF. PDF-файлы являются факсами, и я буду преобразовывать их в формат TIFF, чтобы затем распознать штрих-код на изображении. Кто-нибудь может порекомендовать хорошую бесплатную библиотеку с открытым исходным кодом для преобразования из PDF в TIFF?

10.12.2008 15:53:41
9 ОТВЕТОВ
РЕШЕНИЕ

Отказ от ответственности: я работаю на Atalasoft

У нас есть SDK, который может конвертировать PDF в TIFF . Рендеринг основан на программном обеспечении Foxit, которое делает очень мощный и эффективный рендер PDF.

5
7.07.2015 15:37:13
Ссылка возвращает ошибку 404, пожалуйста, обновите свой ответ. Спасибо
George Daramouskas 7.07.2015 11:42:23
Готово - ищите дополнение PDF-растеризатора к DotImage Document Imaging
Lou Franco 7.07.2015 15:37:35

Я не могу рекомендовать какую-либо библиотеку кода, но легко использовать GhostScript для преобразования PDF в растровые форматы. Я лично использовал приведенный ниже скрипт (который также использует утилиты netpbm), чтобы преобразовать первую страницу 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...для непосредственного вывода TIFF в различных подформатах TIFF из GhostScript.

5
10.12.2008 16:01:26
Я уже использовал решение ghostscript, но оно слишком медленное для тома, который мне нужно обработать.
RedFilter 10.12.2008 16:11:02

Может быть, нет необходимости конвертировать PDF в TIFF. Факс, скорее всего, будет встроенным изображением в PDF, поэтому вы можете просто извлечь эти изображения снова. Это должно быть возможно с уже упомянутой библиотекой iText.

Я не знаю, проще ли это, чем другой подход.

1
10.12.2008 18:21:27

Без Itext нельзя конвертировать PDF-файлы в Tiff.

Однако есть коммерческие библиотеки, которые могут это сделать. jPDFImages - это 100% java-библиотека, которая может конвертировать PDF в изображения в форматах TIFF, JPEG или PNG (и, может быть, JBIG? Я не уверен). Он также может делать обратное, создавать PDF из изображений. Он начинается с 300 долларов за сервер.

0
17.03.2009 16:41:43

Взгляните на Apache PDFBox - Java PDF Library

1
22.07.2013 19:33:24

Мы здесь также делаем преобразование PDF -> G3 TIFF с высоким и низким разрешением. По моему опыту, лучший инструмент, который вы можете иметь, - это Adobe PDF SDK, единственная проблема с ним - его безумная цена. Поэтому мы не используем его.

у нас хорошо работает ghostscript , последние версии довольно надежные и правильно отображают большинство PDF-файлов. И у нас их немало в течение дня. В производственном процессе преобразование выполняется с помощью gsdll32.dll; но если вы хотите попробовать это, используйте следующую командную строку:

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

он конвертирует ваш PDF в формат 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 делает.

надеюсь, что это помогает, привет

3
24.11.2009 14:21:30

У меня есть большой опыт работы с iText (сейчас я использую версию 5.0.6), и это код для преобразования TIFF в PDF:

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;

}
-1
30.03.2011 12:15:40
Это наоборот. У ОП уже есть PDF, и он хочет преобразовать его в TIFF.
monzonj 16.01.2012 17:04:03

Вот хорошая статья и классы-обертки для использования GhostScript с C # .NET ... в конечном итоге использовать это в производстве

http://www.codeproject.com/KB/cs/GhostScriptUseWithCSharp.aspx

0
30.11.2011 09:10:50

Вы можете использовать библиотеку icepdf (лицензия Apache 2.0). Они даже предоставляют этот конкретный пример использования в качестве одного из примеров исходного кода: http://wiki.icesoft.org/display/PDF/Multi-page+Tiff+Capture

3
10.10.2012 15:32:08