| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > ПДФИМПОРТ нескольких листов PDF с сохранением каждого листа в отдельный файл

ПДФИМПОРТ нескольких листов PDF с сохранением каждого листа в отдельный файл

Ответ
Поиск в этой теме
Непрочитано 16.10.2019, 19:26 #1
ПДФИМПОРТ нескольких листов PDF с сохранением каждого листа в отдельный файл
gizmo_zx
 
Проектировщик ЭО,ЭМ, ЭОС
 
Нижний Новгород
Регистрация: 18.07.2007
Сообщений: 256

Добрый день.
Подсобите с программкой.
Надо в цикле с 1 по X (X- можно каждый раз править ручками)
1) Создать новый файл dwg.
2) выполнить в нем "ПДФИМПОРТ"
3) Сохранить файл под именем чертеж i
выполнить следующий цикл шаг по i
Просмотров: 6426
 
Непрочитано 16.10.2019, 19:58
#2
h5r32


 
Регистрация: 28.12.2011
СПб
Сообщений: 843


На каком языке пишете?
h5r32 вне форума  
 
Непрочитано 16.10.2019, 22:11
#3
maratovich


 
Регистрация: 12.07.2009
г. Самара
Сообщений: 2,481
Отправить сообщение для maratovich с помощью Skype™


Вам помогать ? Тогда давайте ваш код.
Или вам готовое решение ?
__________________
Вопрос : Где находится Тургай ? Ответ : Между Парагваем и Уругваем.....
maratovich вне форума  
 
Автор темы   Непрочитано 17.10.2019, 07:57
#4
gizmo_zx

Проектировщик ЭО,ЭМ, ЭОС
 
Регистрация: 18.07.2007
Нижний Новгород
Сообщений: 256
<phrase 1= Отправить сообщение для gizmo_zx с помощью Skype™


Работаю из Excel (VBA), Autocad 2019
Как передать остальные параметры 'acadDoc.SendCommand ("-ПДФИМПОРТ")?
И вроде SendCommand асинхронная т.е. надо как-то дождаться конца импорта?


Код:
[Выделить все]
Sub PDF_import() '

    Dim acadApp As AcadApplication
    Dim acadDoc As AcadDocument

    'Application.DisplayAlerts = False 'чтобы отключить ненужные сообщения
    Set acadApp = New AcadApplication
   i_max = 1
   For i = 1 To i_max
        'Set acadApp = New AcadApplication
        Set acadDoc = acadApp.Documents.Add
        acadApp.Visible = True
        Set acadDoc = acadApp.ActiveDocument
        
        ' Выполнить "-ПДФИМПОРТ" i страницы, остальные параметры по умолчанию.
        'acadDoc.SendCommand ("-ПДФИМПОРТ")
        FileDwg = "e:\Проекты\2019\temp\drawings" & i & ".dwg"
        acadDoc.SaveAs (FileDwg)
        acadDoc.Close
   Next i
      
End Sub
gizmo_zx вне форума  
 
Непрочитано 17.10.2019, 09:39
#5
Сидор Лютый

Инженер кадастровый
 
Регистрация: 27.04.2010
Москва
Сообщений: 28


Цитата:
Сообщение от gizmo_zx Посмотреть сообщение
Работаю из Excel (VBA), Autocad 2019
Как передать остальные параметры 'acadDoc.SendCommand ("-ПДФИМПОРТ")?
И вроде SendCommand асинхронная т.е. надо как-то дождаться конца импорта?
[/code]
Некогда разбираться в опциях конкретно этой команды. В общем случае опции должны передаваться в одной строке с командой, примерно в следующем виде:
ThisDrawing.SendCommand "команда" & vbCr & "опция1" & vbCr & "опция2"
Выбрать объект внутри (во время выполнения) sendcommand нельзя. Поэтому если в команде есть обязательный ввод пользователя, выбор нужно сделать предварительно, а затем подсунуть в команду.
Сидор Лютый вне форума  
 
Автор темы   Непрочитано 17.10.2019, 12:12
#6
gizmo_zx

Проектировщик ЭО,ЭМ, ЭОС
 
Регистрация: 18.07.2007
Нижний Новгород
Сообщений: 256
<phrase 1= Отправить сообщение для gizmo_zx с помощью Skype™


Вылазит диалог запроса имени файла PDF
Подозреваю нет полностью консольной команды.

Код:
[Выделить все]
Sub PDF_import_Autocad() '
    Dim acadApp As AcadApplication
    Dim acadDoc As AcadDocument
    Set acadApp = New AcadApplication
   i_max = 2
   For i = 1 To i_max
        'Set acadApp = New AcadApplication
        acadApp.Visible = True
        'Set acadDoc = acadApp.ActiveDocument
        Set acadDoc = acadApp.Documents.Add
        FilePDF = "e:\Проекты\2019\temp\1.pdf"
        
        ' Выполнить "-ПДФИМПОРТ" i страницы, остальные параметры по умолчанию.
        acadApp.ActiveDocument.SendCommand ("-ПДФИМПОРТ" & vbCr & FilePDF & i & vbCr & vbCr & vbCr & vbCr & vbCr & vbCr)
        FileDwg = "e:\Проекты\2019\temp\page_" & i & ".dwg"
        acadDoc.SaveAs (FileDwg)
        acadDoc.Close
        'acadApp.Quit
   Next i
      
End Sub
gizmo_zx вне форума  
 
Непрочитано 17.10.2019, 14:38
#7
veb86

Проектировщик электрических сетей
 
Регистрация: 17.01.2014
Пенза
Сообщений: 176


Какая то странные операции выполняются. Расскажите что вы хотите сделать? Что получить?
veb86 вне форума  
 
Автор темы   Непрочитано 17.10.2019, 14:41
#8
gizmo_zx

Проектировщик ЭО,ЭМ, ЭОС
 
Регистрация: 18.07.2007
Нижний Новгород
Сообщений: 256
<phrase 1= Отправить сообщение для gizmo_zx с помощью Skype™


Цитата:
Сообщение от veb86 Посмотреть сообщение
Какая то странные операции выполняются. Расскажите что вы хотите сделать? Что получить?
Хочу выполнить импорт многостраничного PDF.

Делаю это в цикле. Автокадом управляю из Excel.
1) Создать новый файл dwg.
2) выполнить в нем "ПДФИМПОРТ"
3) Сохранить файл под именем чертеж i
выполнить следующий цикл шаг по i
gizmo_zx вне форума  
 
Непрочитано 17.10.2019, 17:17
#9
maratovich


 
Регистрация: 12.07.2009
г. Самара
Сообщений: 2,481
Отправить сообщение для maratovich с помощью Skype™


Цитата:
Сообщение от gizmo_zx Посмотреть сообщение
Подозреваю нет полностью консольной команды.
Ну вообще решение есть, только вот как это сделать в Экселе не знаю.
Видео решения
__________________
Вопрос : Где находится Тургай ? Ответ : Между Парагваем и Уругваем.....
maratovich вне форума  
 
Непрочитано 17.10.2019, 19:50
#10
Сидор Лютый

Инженер кадастровый
 
Регистрация: 27.04.2010
Москва
Сообщений: 28


Попробовал, - забавная штука! Появилась с 2017 версии, видимо.. Как шагнул прогресс!
В общем вам надо предварительно подавить диалог открытия файла переменной filedia=0, т.к. дефис перед командой подавляет только ее диалоговые окна, видимо.
Сидор Лютый вне форума  
 
Непрочитано 23.10.2019, 08:12
#11
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,990
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Цитата:
Сообщение от Сидор Лютый Посмотреть сообщение
В общем вам надо предварительно подавить диалог открытия файла переменной filedia=0, т.к. дефис перед командой подавляет только ее диалоговые окна, видимо.
В Автокаде консольные версии команд начинаются с "-"
Набери в командной строке "СЛОЙ" и "-СЛОЙ" и посмотри разницу
Консольная версия команды ПДФИМПОРТ - _-PDFATTACH
Вместе со всеми черточками в начале
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 24.10.2019, 13:52
#12
gizmo_zx

Проектировщик ЭО,ЭМ, ЭОС
 
Регистрация: 18.07.2007
Нижний Новгород
Сообщений: 256
<phrase 1= Отправить сообщение для gizmo_zx с помощью Skype™


Цитата:
Сообщение от VVA Посмотреть сообщение
В Автокаде консольные версии команд начинаются с "-"
Я и так использовал "-ПДФИМПОРТ"
Код:
[Выделить все]
acadApp.ActiveDocument.SendCommand ("-ПДФИМПОРТ" & vbCr & ...
Все равно вылазит диалог с выбором PDF файла.
Можно и так оставить, но хочется законченного решения.
gizmo_zx вне форума  
 
Непрочитано 28.05.2022, 17:32 Нашёл решение
#13
Ragentx


 
Регистрация: 28.05.2022
Сообщений: 1


Не умею правильно редактировать сообщения, но всё же.
Код на c#
Код:
[Выделить все]
adoc.SendCommand("(command \"_-pdfimport\" \"_f\" \"" + filename.Replace("\\", "/") + "\" \"1\" \"0,0\" \"1\" \"0\") ");
Важно что бы в пути слеши были такими "/".
Сама команда, как я понимаю на lisp
Код:
[Выделить все]
 (command "_-pdfimport" "_f" "C:/Users/ICRP4003/Desktop/pdfCAD/test.PDF" "1" "0,0" "1" "0") 
Параметры по порядку это номер страницы, точка вставки, масштаб, угол поворота.
Ragentx вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > ПДФИМПОРТ нескольких листов PDF с сохранением каждого листа в отдельный файл

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как напечатать из подшивки файл dwg имеющий множество вложенных листов (Layout). SAPR.pro AutoCAD 3 17.04.2019 21:57
Civil 3d_2018. Как скопировать поверхность откоса в другой файл с сохранением динамики? Bart&ush Вертикальные решения на базе AutoCAD 6 23.11.2018 06:18
LISP. Экспорт листа в отдельный файл. Krieger LISP 10 28.08.2018 15:48
Отправка на печать нескольких листов одновременно, а не через цикл valerik88 LISP 6 15.06.2018 13:16
файл в нанокаде и в автокаде, путаница E.D. AutoCAD 2 24.10.2008 09:56