Я в настоящее время изо всех сил пытаюсь преобразовать PDF в файл TIFF, который я могу затем отправить факс через Asterisk. Полем Однако в документации указываются некоторые настройки ключей для использования: < /p>
Алгоритм сжатия: группа CCITT 3 или CCITT Group 4
Вертикальное разрешение: 98 DPI (стандарт) или 196 DPI (высокий)
Вот ссылка на документацию: PDF Инструменты SDK Профили преобразования < /p>
Я уже настроил эти настройки, и когда я проверяю выход с Tiffinfo на Linux, все кажется нормальным. Однако Asterisk все еще не может отправить факс. Поскольку эти настройки являются стандартными для факсимирования и не специально для Asterisk, я надеюсь, что кто -то может сказать мне, что мне не хватает или сделать неправильно. < /P>
ниже мой код Java, и я ' D действительно ценю любое руководство. < /p>
Заранее! < /p>
public static InputStream toTIFF(InputStream pdfInputStream) {
PDDocument document = null;
ImageOutputStream imageOutputStream = null;
ByteArrayOutputStream pdfOutputStream = new ByteArrayOutputStream();
try {
document = Loader.loadPDF(IOUtils.toByteArray(pdfInputStream));
imageOutputStream = ImageIO.createImageOutputStream(pdfOutputStream);
Iterator writers = ImageIO.getImageWritersByFormatName("tiff");
ImageWriter writer = writers.next();
writer.setOutput(imageOutputStream);
ImageWriteParam writeParam = writer.getDefaultWriteParam();
writeParam.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
writeParam.setCompressionType("CCITT T.6");
PDFRenderer pdfRenderer = new PDFRenderer(document);
writer.prepareWriteSequence(null);
for (int pageIndex = 0; pageIndex < document.getNumberOfPages(); pageIndex++) {
BufferedImage image = pdfRenderer.renderImageWithDPI(pageIndex, 98, ImageType.BINARY);
BufferedImage bwImage = new BufferedImage(image.getWidth(), image.getHeight(),
BufferedImage.TYPE_BYTE_BINARY);
Graphics2D g2d = bwImage.createGraphics();
g2d.drawImage(image, 0, 0, Color.WHITE, null);
g2d.dispose();
IIOImage ioImage = new IIOImage(bwImage, null, null);
writer.writeToSequence(ioImage, writeParam);
}
writer.endWriteSequence();
writer.dispose();
document.close();
imageOutputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
return new ByteArrayInputStream(pdfOutputStream.toByteArray());
}
Подробнее здесь: https://stackoverflow.com/questions/794 ... for-faxing
Преобразование PDF в TIFF для факсимирования ⇐ JAVA
Программисты JAVA общаются здесь
-
Anonymous
1738689544
Anonymous
Я в настоящее время изо всех сил пытаюсь преобразовать PDF в файл TIFF, который я могу затем отправить факс через Asterisk. Полем Однако в документации указываются некоторые настройки ключей для использования: < /p>
Алгоритм сжатия: группа CCITT 3 или CCITT Group 4
Вертикальное разрешение: 98 DPI (стандарт) или 196 DPI (высокий)
Вот ссылка на документацию: PDF Инструменты SDK Профили преобразования < /p>
Я уже настроил эти настройки, и когда я проверяю выход с Tiffinfo на Linux, все кажется нормальным. Однако Asterisk все еще не может отправить факс. Поскольку эти настройки являются стандартными для факсимирования и не специально для Asterisk, я надеюсь, что кто -то может сказать мне, что мне не хватает или сделать неправильно. < /P>
ниже мой код Java, и я ' D действительно ценю любое руководство. < /p>
Заранее! < /p>
public static InputStream toTIFF(InputStream pdfInputStream) {
PDDocument document = null;
ImageOutputStream imageOutputStream = null;
ByteArrayOutputStream pdfOutputStream = new ByteArrayOutputStream();
try {
document = Loader.loadPDF(IOUtils.toByteArray(pdfInputStream));
imageOutputStream = ImageIO.createImageOutputStream(pdfOutputStream);
Iterator writers = ImageIO.getImageWritersByFormatName("tiff");
ImageWriter writer = writers.next();
writer.setOutput(imageOutputStream);
ImageWriteParam writeParam = writer.getDefaultWriteParam();
writeParam.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
writeParam.setCompressionType("CCITT T.6");
PDFRenderer pdfRenderer = new PDFRenderer(document);
writer.prepareWriteSequence(null);
for (int pageIndex = 0; pageIndex < document.getNumberOfPages(); pageIndex++) {
BufferedImage image = pdfRenderer.renderImageWithDPI(pageIndex, 98, ImageType.BINARY);
BufferedImage bwImage = new BufferedImage(image.getWidth(), image.getHeight(),
BufferedImage.TYPE_BYTE_BINARY);
Graphics2D g2d = bwImage.createGraphics();
g2d.drawImage(image, 0, 0, Color.WHITE, null);
g2d.dispose();
IIOImage ioImage = new IIOImage(bwImage, null, null);
writer.writeToSequence(ioImage, writeParam);
}
writer.endWriteSequence();
writer.dispose();
document.close();
imageOutputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
return new ByteArrayInputStream(pdfOutputStream.toByteArray());
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79409419/converting-pdf-to-tiff-for-faxing[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия