Печать DWG в PDF с помощью PDF принтера через Windows Form Application C#

#c# #winforms #pdf #printing #dwg

#c# #winforms #PDF #печать #dwg

Вопрос:

У меня есть приложение Windows Form, которое я разработал на C #, которое отображает файлы AutoCAD (.dwg) в элементе управления eDrawings. Чтобы использовать это приложение, пользователи должны иметь eDrawings control 2014, установленный на их компьютере.

Теперь я пытаюсь добавить Print to PDF кнопку, чтобы пользователь мог нажать эту кнопку и сохранить черно-белый PDF-файл на своем рабочем столе. У меня есть концепция, работающая со следующим кодом…

 eDrawingsControl.SetPageSetupOptions(EMVPrintOrientation.eLandscape, 1, 0, 0, 1, 7, "PDF24 PDF", 0, 0, 0, 0);

eDrawingsControl.Print5(true, "", false, true, false, EMVPrintType.eOneToOne, 0, 0, 0, true, 0, 0, @"C:UsersxxxxDesktop"   pn   ".pdf");
  

Вот документация по функциям, которые я использовал:
SetPageSetupOptions
Print5

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

Я пробовал эти бесплатные PDF-принтеры:
Microsoft Print to PDF (поставляется в Windows 10)
PDF24 PDF
CutePDF Writer

Кто-нибудь знает бесплатный способ, которым я мог бы распечатать файл .dwg в формате .pdf с помощью элемента управления eDrawings в моем приложении Windows Form? Нужно ли мне просто изменить параметры, которые я передаю показанным функциям?

Примечание: Я изменил первый параметр Print5 на false , но вернул ему значение true для тестирования..

Комментарии:

1. Метод печати — это растровая печать. Он будет печатать только растровое изображение, а не вертикальное. Это не имеет никакого отношения к используемому вами инструменту печати.

2. О! Спасибо! Не понял 🙂 Вы знаете, как я могу распечатать vertorial?

3. В формате PDF да. Формат PDF открыто доступен на веб-сайте Adobe, и вы действительно можете нарисовать свою страницу с помощью векторных линий и фигур, но вам придется прочитать ваши DWG-линии, кривую, дугу и по отдельности нарисовать их на странице. Это МНОГО работы и чрезвычайно индивидуально для каждого конкретного случая. Итак, вы знаете, что я делал это уже дважды в прошлом, но сейчас я использую более простое несвободное решение.