2015-04-20 5 views
0

Мне удалось распечатать офисные документы MS с офисными перехватами, но документы, такие как pdf или hwp, беспокоят меня.C# Есть ли способ изменить настройки принтера?

Просто распечатать эти файлы не так уж сложно. Этот кусок кода был всем, что мне нужно для печати.

   Process process = new Process(); 
       process.StartInfo.FileName = fileInfo.FullName; 
       process.StartInfo.Verb = "Print"; 
       process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; 
       process.Start(); 

Но мое намерение, я хочу, чтобы напечатать несколько страниц PDF или ВПТ на одной странице. (Напр., Четыре страницы на одной странице)

Как я seached, эти два формата не поддерживать любые бесплатные, неограниченные привилегированные библиотеки. Итак, мой следующий подход заключается в изменении настроек defaultprinter. В окнах я узнал, что на панели управления я могу вручную изменить настройки принтера для дуплекса или многостраничной печати. Как я могу изменить это программно?

ответ

2

Там есть бесплатные библиотеки PDF. (Например, iTextSharp является портом C# тонкого iText, который может легко выполнять преобразования страниц 2 на 1 и 4 на 1). Но они больше ориентированы на манипулирование PDF-файлами и аналогичными документами для создания большего количества документов и не будет раскрывать подробные средства управления печатью.

Если вы этого не сделаете, не могли бы вы использовать интеграцию .NET или ActiveX для автоматизации IE или Adobe Reader или аналогичного приложения, которое может читать PDF-файлы и иметь поддержку принтера? Они легко доступны, и их открытые элементы управления ActiveX, вероятно, имеют материал, соответствующий этим настройкам принтера.

Скручивание настроек принтера по умолчанию на уровне пользователя может иметь нежелательные побочные эффекты.

+0

Спасибо! Я попробую! – March3April4

+0

Спасибо большое !. Использование iTextSharp для манипулирования страницами, то печать с использованием моего источника может сделать все. Если мне удастся, я отправлю свои коды. Опять же, спасибо! – March3April4