2012-06-19 3 views
0

У меня есть сложное приложение, создающее PDF-файлы через PDFSharp. Я сталкиваюсь с проблемой, которая очень трудно решить.PDF-файлы рендеринга отлично, но печать с зубчатыми краями - PDFSharp

При рендеринге изображений (текст также изображен) вращающийся, созданный PDF выглядит отлично, но при печати он имеет зубчатые края и обычно перепутался - см. Вложение.

Вот соответствующий код:

// determine how big the image should be 
double destinationWidth = Math.Round(pageWidth * imageInfo.WidthFactor); 
double destinationHeight = destinationWidth; 

// rescale the image to needed size 
imageInfo.Image = ImageHelper.ResizeImage(imageInfo.Image, (int)(destinationWidth * 3), (int)(destinationHeight * 3)); 

// get image 
XImage xImage = XImage.FromGdiPlusImage(imageInfo.Image); 

// define fill area 
XRect destination = new XRect(); 
destination.X = imageInfo.XFactor * pageWidth; 
destination.Y = imageInfo.YFactor * pageHeight; 
destination.Width = destinationWidth; //pageWidth * imageInfo.WidthFactor; 
destination.Height = destinationHeight; //destination.Width; // shouldn't this use the page height and height factor? 

// save state before rotate 
XGraphicsState previousState = gfx.Save(); 

// rotate canvas 
gfx.RotateAtTransform(imageInfo.RotationAngle, new XPoint(destination.X + destination.Width/2, destination.Y + destination.Height/2)); 

// render image 
gfx.DrawImage(xImage, destination); 

// undo transforms 
gfx.Restore(previousState); 

Пожалуйста, пожалуйста, помогите. Он отлично отпечатывается в программе просмотра PDF в Chrome, для чего он стоит.

Я попытался преобразовать изображения в SVG (пиксель за пикселем) и рендеринг, который работал отлично, но производительность сделала его невозможным. Мне нужно найти более элегантное решение.

Большое спасибо!

PDF: https://dl.dropbox.com/u/49564994/PDF.pdf

Распечатка: https://dl.dropbox.com/u/49564994/Print.jpg

+0

Вы печатаете из Acrobat Reader/Pro или используете другое приложение? –

+0

Ссылка в формате PDF возвращает поврежденные данные. – bluevector

+0

Я мог бы получить как PDF, так и JPEG, просто отлично. Однако, прежде чем я попытаюсь ответить на вопрос, мне нужно знать: * Как вы создали JPEG из PDF? * –

ответ

0

Почти два года назад у меня была аналогичная проблема. Сгенерированный PDF-файл был искажен, когда я его распечатал. Это был просто отчет, не содержал никаких изображений, но несколько предложений или слов отсутствовали.

Я использовал шаблон Word, заменил некоторые заполнители, чтобы сгенерировать отчет, а затем сохранил документ Word в PDF, используя Office Save As PDF add-in.

Существует разница при печати PDF с помощью драйвера принтера PCL или PostScript. Проверьте, нет ли у вас какой-либо разницы. Может быть проблема с шрифтом. Убедитесь, что кодировка шрифта установлена ​​правильно.

В то время я не нашел решение. Наконец, пришло время конвертировать PDF в изображение и отправить его на принтер. Отлично.

Это также должно быть возможно с использованием PDFSharp на invoking GhostScript to create images from PDF pages.

+0

Я не нашел элегантного решения. Я создал прозрачное изображение размером с PDF, отобразил на нем все изображения, а затем передал его в PDF. Он оборачивает вращение. –

Смежные вопросы