#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-линии, кривую, дугу и по отдельности нарисовать их на странице. Это МНОГО работы и чрезвычайно индивидуально для каждого конкретного случая. Итак, вы знаете, что я делал это уже дважды в прошлом, но сейчас я использую более простое несвободное решение.