abcPDF искажает мое изображение после добавления его в PDF - PullRequest
3 голосов
/ 25 апреля 2011

Я получаю байтовый массив, представляющий файл TIFF, с моего сервера, преобразую его в XImage и затем добавляю в новый документ PDF. Изображение, о котором идет речь, имеет размер 1280x800 (это был скриншот) и растягивается и удлиняется, чтобы соответствовать высоте и ширине стандартной страницы PDF. Как мне это исправить?

http://i53.tinypic.com/24qq1ch.png

Ответы [ 4 ]

1 голос
/ 17 декабря 2013

Попробуйте это:

    doc.MediaBox.String = img.BoundingBox.String;
    doc.Rect.String = doc.MediaBox.String;

где doc is Doc и img is XImage

0 голосов
/ 26 апреля 2011

Зависит от того, как создается страница PDF.Что вы, вероятно, хотите сделать, это убедиться, что создаваемая страница PDF имеет то же соотношение сторон, что и изображение, а не значение по умолчанию для страницы размером с букву.

Поскольку вы не указываете, как вы делаетестраница PDF, я не могу вам помочь конкретно.Но в целом, PDF-страницы в единицах 1/72 дюйма.Вы можете изобразить правильный размер страницы следующим образом:

const kPdfPageUnitSize = 72f;

float GetPdfSize(int nPixels, float dotsPerInch) {
    return (nPixels / dotsPerInch) * kPdfPageUnitSize;
}


// later
float pdfwidth = GetPdfSize(image.Width, image.Resolution.X); // or however you have this
float pdfheight = GetPdfSize(image.Height, image.Resolution.Y);
0 голосов
/ 26 июня 2013

Как я вижу, масштабный коэффициент изображения неверен.Вы должны разделить высоту изображения и ширину изображения на 1,33 (3) (т.е. 96f / 72f)

. По умолчанию пользовательская единица измерения PDF составляет 1⁄72 дюйма, поэтому DPI изображения должно быть пропорциональным оригиналу.

0 голосов
/ 25 апреля 2011

Конкретная проблема, с которой вы столкнулись, связана с установкой принтера в книжный режим.

Будучи объектом PDF, вам может понадобиться эмулировать страницу, которая имитирует размер изображения, к которому вы стремитесь.

Возможно, лучше отправить исходный документ на изображение и добавить файл TIFF.

...