Создание PrintDocument из файла .xps в c # winforms

В этом потоке я попытался выяснить, как получить изображение, созданное из файла PDF. , заполните бланки и распечатайте. Мне удалось распечатать пригодное для использования, но размытое изображение pdf. Пытаясь улучшить качество печати, я искал альтернативные способы редактирования и печати PDF-файла. Поэтому я подумал, что, может быть, я смогу преобразовать pdf в xps, а затем преобразовать xps в объект PrintDocument. Преобразовать pdf в xps легко, но я ничего не нашел о преобразовании xps в printdocument. Если бы я мог его преобразовать, я бы мог нарисовать на нем что угодно. Есть ли способ сделать это преобразование? Любой пример кода?


person pzogr    schedule 10.05.2013    source источник
comment
Что ты действительно хочешь делать? Хотите заполнить поля формы и распечатать ее? В некоторых формах есть поля, определенные таким образом, чтобы их можно было заполнить программно: c- Sharpcorner.com/UploadFile/scottlysle/ Подойдет ли вам это?   -  person mortb    schedule 10.05.2013
comment
@mortb: предоставленная вами ссылка кажется очень полезной. Я проверю это. Исходный PDF-файл не имеет форм, но я, вероятно, смог бы их создать. Это именно то, что я искал с самого начала. Меня также интересует преобразование xps, потому что я проделал большую грязную работу по вычислению правильной позиции добавленного текста - это много текста и в разных позициях.   -  person pzogr    schedule 10.05.2013
comment
Принтеры имеют разрешение, которое в 6 раз лучше, чем у монитора. Так что, если вы не увеличите изображение в 6 раз, вы получите нечеткую распечатку, где каждый пиксель представляет собой кляксу размером 6x6 на бумаге. Использование xps не меняет этого.   -  person Hans Passant    schedule 10.05.2013
comment
@Hans Passant: Я не понимаю ... Если у вас есть PDF-форма и вы создаете из нее изображение, почему принтер не может правильно ее распечатать? Мое изображение выглядит бледным, как будто не хватает чернил. Размер изображения A4 или чуть больше.   -  person pzogr    schedule 10.05.2013
comment
Лист бумаги формата А4 на лазерном принтере имеет размер 4960 x 7016 пикселей. Сколько пикселей у вашего растрового изображения?   -  person Hans Passant    schedule 10.05.2013
comment
@Hans Passant: это 1012x1286. Значит ли это, что я не могу распечатать такое изображение? Следует ли мне сначала увеличить его в Photoshop, а затем распечатать?   -  person pzogr    schedule 10.05.2013
comment
Что ж, ясно, что вы можете распечатать это, вы уже это сделали. Вы уже увеличили его, Photoshop не собирается волшебным образом создавать новые пиксели. Увеличивайте изображение при его создании.   -  person Hans Passant    schedule 10.05.2013


Ответы (1)


Я работал с pdf-компонентом из http://www.dynamicpdf.com/, который был очень полезен , но не бесплатно. У них есть компонент pdf-merger, который позволяет вам импортировать pdf и рисовать новые вещи (текстовые метки, изображения и т. Д.) Поверх него. Может быть, вам там пригодятся текстовые объекты и позиции? Извините, я не могу рассказать вам больше о XPS ..

person mortb    schedule 10.05.2013
comment
Звучит неплохо, но слишком дорого. Спасибо, что нашли время ответить ... - person pzogr; 10.05.2013