2013-11-13 1 views
0

Я создаю PDF с помощью MigraDoc и теперь столкнулся с небольшой проблемой. Я использую размер A4 изображения (2480px х 3508px/96kb размера) в качестве фона для моего PDF, используя следующий код:Медленный рендеринг с изображением | MigraDoc

Dim frame = Section.Headers.FirstPage.AddTextFrame 
frame.AddImage("background.png") 
frame.WrapFormat.Style = WrapStyle.Through 
frame.RelativeHorizontal = RelativeHorizontal.Page 

Используя это приводит к тому, PDF, чтобы сделать около 10 раз больше (скажем, 10 секунд) то без или меньшего размера файла (скажем, 1 секунду). Есть ли способ ускорить это?

Я попытался не использовать рамку думая, что это может быть проблема отображения изображения с помощью:

Dim backing As Image = Section.Headers.FirstPage.AddImage("background.png") 

Но все-таки те же результаты, по этой причине я хочу раз сократить это создать до 1000 эти и это может занять много времени на текущей скорости.

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

ответ

2

Возможно, это происходит быстрее, если вы используете файл JPEG (если это опция).

Файлы JPEG скопированы в PDF как они есть. PNG и другие форматы должны быть преобразованы в «PDF-изображения».

Вы можете использовать страницы из файлов PDF так же, как изображения. Это еще один вариант, который вы можете попробовать: создайте PDF с фоновым изображением и создайте все другие файлы с этим PDF вместо PNG (если JPEG не подходит для вашего изображения).

Есть две сборки MigraDoc: один использует GDI +, один использует WPF. Вы могли бы попытаться понять, имеет ли это значение.

BTW: Изображения могут быть расположены как TextFrames, поэтому нет необходимости помещать изображение в текстовую рамку.

+0

Я просто попробовал его как JPEG и все тот же результат. Как мне выбрать второй вариант? Если бы вы могли расширить его, это было бы здорово. – Ruddy

+0

Игнорируйте мои последние, вы правы. У меня просто было неправильное изображение, связанное, когда я тестировал. JPEG решает проблему. Спасибо! – Ruddy

+0

Я тестировал эту теорию с двухстраничным документом, содержащим только небольшое изображение в заголовке страницы и несколько простых текстовых абзацев всего в одном шрифте, и потребовалось 5 секунд для рендеринга независимо от формата изображения, хотя версия JPG была 3 раза меньше PNG. Все еще слишком медленно. – ajeh