Что нужно: открыть скан А4 (всегда будут использоваться сканы), уменьшить его размеры в 2 раза, разместить на 1/4 листа А4 и поместить результат в pdf.
Имеется скан в разрешении 2464:3424 и 300dpi, формат jpg. Использую библиотеку itextsharp. Проблема в том, что качество печати довольно плохое, зернистое, притом что у меня лазерный принтер с 1200dpi и высокое разрешение картинки (как я думаю). Печатаю в помощью Foxit Reader, с 1200dpi в настройках принтера. Основной код:
public void CreatePdf(string path, System.Drawing.Image image)
{
var doc = new Document();
PdfWriter.GetInstance(doc, new FileStream(path, FileMode.Create));
var a4Size = new Rectangle(PageSize.A4);
doc.SetPageSize(a4Size);
var width = 297;
var height = 421;
// Половины от PageSize.A4
_neededSize = new Rectangle(width, height);
var table = new PdfPTable(2);
var img = iTextSharp.text.Image.GetInstance(image, System.Drawing.Imaging.ImageFormat.Jpeg);
img.ScaleToFit(_neededSize);
table.AddCell(img);
doc.Add(table);
doc.Close();
}
Считывание картинки происходит так:
var img = Image.FromFile(fileName);
Пробовал сразу печатать средствами C#, качество не повысилось. Хотя "по ТЗ" должна быть pdf.
В чем может быть проблема, в недостаточном разрешении исходного материала? На англоязычных форумах советуют повысить разрешении картинок, но я не понимаю, что имеется ввиду: подсовывать картинки более качественные или программно какие-то манипуляции производить.
Но в pdf файле потери качества нет. И pdf получается такого же размера (в Кб я имею ввиду), что и картинка. То есть правильно ли я понимаю, что foxit производит сжатие перед печатью? В таком случае, если ли способ улучшить этот результат? Обработать как-нибудь изображение?
Может быть стоит использовать другие библиотеки?
Включил мозг и попробовал распечатать скан с помощью "средства просмотра изображений" от Windows и MS Word (говорили в интернете, что неплохо сжимает для печати). Получил примерно одинаковое качество с моей версией. И хотя это не дает ответа на вопрос об улучшении качества, этот вопрос можно считать закрытым - изображение печаталось так как должно было.
Видимо решение моей проблемы лежит в преобразовании изображения для улучшения качества ещё до того, как оно будет помещено в PDF.
Спасибо и извиняюсь за потраченное время.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Имеется сторонний контрол, который биндится к коллекции, имплементирующей CollectionChagnedПроблема в том что коллекция обновляется слишком часто,...
Есть приложение, использующее в качестве ORM EntityFrameworkНужно к этому приложению прикрутить миграцию БД
Нашел код для загрузки данных Excel в таблицу DataGridView:
Допустим, есть N-ое кол-во директорий, в каждой директории хранится M файлов с уникальными именами, которые не пересекаются с файлами из других...