В рамках этой статьи покажу разные способы на тему как сделать экспорт из dwg в pdf.
Рассмотрим на примере программ Autodesk DWG TrueView и AutoCad.
Как сделать экспорт из dwg в pdf из Autodesk DWG TrueView
В программе Autodesk DWG TrueView в меню есть экспорт в pdf, но по каким-то причинам он не работает. При запуске этой задачи ничего не происходит.
Но экспортировать файл .dwg в формат .pdf в программе Autodesk DWG TrueView всё-таки можно, если сделать это через настройки плоттера.
Для этого в меню файла выбираем Print, а затем Plot.
В имени принтера pdf выбираем DWG To PDF.pc3.
Выбираем область: Window.
Далее с помощью появившейся рамки выделяем на чертеже нужную область и нажимаем Enter, сохраняем в нужное место. Вот и всё.
Как сделать экспорт из dwg в pdf из AutoCad
В программе AutoCad также можно экспортировать файл .dwg в формат .pdf по указанному выше способу. Но не будет работать поиск в pdf, графика сохраняется только в виде картинки.
Кроме того, в AutoCad доступен и работает экспорт DWG файла в формат PDF через меню «Export». В экспортированных файлах pdf сохраняется возможность поиска информации.
Как экспортировать файл .dwg в формат .pdf пошагово:
Откройте ваш проект в AutoCAD. Запустите AutoCAD и откройте файл DWG, который вы хотите сохранить в формате PDF.
Перейдите в меню «Application menu» (Кнопка AutoCAD в левом верхнем углу).
Выберите «Export» (Экспорт). В раскрывающемся меню выберите «PDF». Это перенаправит вас к настройкам экспорта PDF.
Настройка параметров экспорта PDF. В диалоговом окне, которое откроется после выбора «PDF», вы увидите различные опции конфигурации. Здесь можно настроить:
- Качество PDF,
- Цвета (можно выбрать черно-белый или цветной вывод),
- Размер листа,
- Включение слоев и так далее.
- Определите область экспорта. Вы можете выбрать, что именно хотите экспортировать: всю карту или только определенную область. Это можно настроить в разделе «Area» (Область).
Сохраните файл. После настройки всех параметров нажмите «OK» или «Export». В появившемся диалоговом окне сохранения файла укажите название файла и путь для сохранения вашего PDF файла.
Закончите процесс экспорта. После сохранения AutoCAD экспортирует ваш DWG файл в формат PDF согласно заданным настройкам.
Этот способ экспорта обычно предоставляет больше настроек и флексибельности, чем использование функции печати через виртуальный принтер PDF, особенно если вам нужны специфические настройки для ваших PDF файлов.
На сайте есть отдельная статья по экспорту dwg в pdf из AutoCad, она находится здесь.
Автоматизированный экспорт чертежей из AutoCAD в PDF
Для автоматизации процесса экспорта чертежей из AutoCAD в PDF с возможностью поиска текста, вы можете использовать скрипты на языке LISP или .NET API для AutoCAD.
на C#
Пример кода на C#, который использует .NET API для AutoCAD.
Прежде всего, вам потребуется установить .NET Framework SDK и добавить ссылку на пространство имен Autodesk.AutoCAD.ApplicationServices в ваш проект. Затем вы можете написать следующий код:
using Autodesk.AutoCAD.ApplicationServices; using Autodesk.AutoCAD.DatabaseServices; using Autodesk.AutoCAD.EditorInput; using Autodesk.AutoCAD.Runtime; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; public class ExportToPDF { [CommandMethod("ExportPDF")] public static void ExportPDFCommand() { Document doc = Application.DocumentManager.MdiActiveDocument; Editor ed = doc.Editor; // Получаем имя текущего чертежа string drawingName = doc.Name; string directoryPath = Path.GetDirectoryName(drawingName); string fileName = Path.GetFileNameWithoutExtension(drawingName) + ".pdf"; string fullPath = Path.Combine(directoryPath, fileName); // Экспортируем текущий чертеж в PDF using (Transaction tr = doc.TransactionManager.StartTransaction()) { BlockTable bt = (BlockTable)tr.GetObject(doc.Database.BlockTableId, OpenMode.ForRead); BlockTableRecord btr = (BlockTableRecord)tr.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite); // Здесь можно добавить логику для обхода всех объектов в модели и их экспорта в PDF // Например, можно пройтись по всем блокам и их содержимому // Создаем экземпляр экспортера PDF PdfExportOptions options = new PdfExportOptions(); options.ExportLayersAsIndependentPages = true; // Если нужно экспортировать слои как отдельные страницы options.UseOleSupport = false; // Отключение OLE-объектов options.EmbedTrueTypeFonts = true; // Встраивание TrueType шрифтов options.EmbedOpenTypeFonts = true; // Встраивание OpenType шрифтов options.EmbedSystemFonts = false; // Встраивание системных шрифтов options.EmbedStandardFonts = true; // Встраивание стандартных шрифтов options.ExportUserStyleSheet = false; // Экспорт пользовательского CSS-файла options.Resolution = 300; // Разрешение экспорта // Экспортируем чертеж в PDF PdfExport export = new PdfExport(btr, fullPath, options); export.Execute(); tr.Commit(); } // Сообщаем пользователю о завершении операции ed.WriteMessage("Чертеж успешно экспортирован в PDF."); } }
Этот код создает команду ExportPDF, которая экспортирует текущий чертеж в PDF с возможностью поиска текста. Вы можете адаптировать его под свои нужды, добавив логику для обхода всех объектов в модели или видовых экранов, если это необходимо.
Обратите внимание, что для работы этого кода вам потребуется установить соответствующие библиотеки и настройки в вашей среде разработки, а также убедиться, что AutoCAD запущен и доступен для взаимодействия с вашим приложением.
на VBA
К сожалению, в VBA для AutoCAD нет встроенной поддержки экспорта в PDF с возможностью поиска текста. Экспорт в PDF в VBA осуществляется через методы объекта Layout, такие как Export, которые не предоставляют возможности для включения поиска текста в PDF.
Однако, вы можете использовать внешние инструменты для конвертации DWG в PDF с возможностью поиска текста. Один из таких инструментов — это PDF Creator Plus, который позволяет создавать PDF с возможностью поиска текста. Вы можете использовать его вместе с командами AutoCAD для экспорта в PDF и затем автоматизировать процесс с помощью VBA.
Пример кода для экспорта каждого листа в отдельный PDF файл:
Sub ExportEachLayoutToPDF() Dim layoutName As String Dim filePath As String Dim pageNumber As Integer Dim doc As Document Set doc = ThisApplication.ActiveDocument ' Замените эти пути на актуальные для вашего случая filePath = "C:\path\to\your\output\" 'filePath = ThisApplication.Path & "\" ' Проходим по каждому листу For Each layout In doc.Layouts layoutName = layout.Name ' Проверяем, является ли лист активным If layout.IsCurrentLayout Then ' Добавляем номер страницы к имени файла pageNumber = layoutName * 1 ' Формируем имя файла ' Замените "YourDrawing" на имя вашего чертежа ' Замените "YourDrawing" на имя вашего чертежа PDFFileName = filePath & "YourDrawing_" & layoutName & "_" & pageNumber & ".pdf" ' Экспортируем лист в PDF ThisApplication.Publish(PDFFileName, layout.Name) End If Next layout End Sub
Этот код проходит по каждому листу в текущем документе AutoCAD и экспортирует его в отдельный PDF файл. Вам нужно будет заменить «C:\path\to\your\output\» на путь, куда вы хотите сохранить PDF файлы, и «YourDrawing» на имя вашего чертежа.
Обратите внимание, что для использования команды Publish, которая экспортирует в PDF, вам может потребоваться установить соответствующий плагин или надстройку.
Также важно отметить, что этот код не включает поиск текста в PDF файлах. Для этого вам потребуется использовать стороннее ПО, такое как PDF Creator Plus, которое может интегрироваться с AutoCAD и позволять создавать PDF файлы с возможностью поиска текста.
Читайте как выровнять размеры страниц в pdf.