CDW в PDF КОМПАС V14

Автор AndreySt, 12.11.13, 15:25:41

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Slaviation

Добрый день.
Пример во вложении. См. строки 28 - 30.

Komp_ass

К сожалению ничего не изменилось, попытка указать ColorType так же приводит к той же ошибке, без нее все работает :o: .

Slaviation

Хм. Проверял под КОМПАС 23. PDF создается цветной.  :huh:
Вы правили свой скрипт или запускали мой?

Komp_ass

Точнее теперь что при попытке задать, что при попытке прочитать параметр отображения цвета выдается одна и та же ошибка:

Traceback (most recent call last):
  File "c:/kompas_api/test.pyw", line 30, in <module>
    print(converter_parameters.ColorType)
  File "C:\Program Files\ASCON\KOMPAS-3D v17\Libs\Kompas-Macro\Python 3\App\lib\site-packages\win32com\client\__init__.py", line 466, in __getattr__
    return self._ApplyTypes_(*args)
  File "C:\Program Files\ASCON\KOMPAS-3D v17\Libs\Kompas-Macro\Python 3\App\lib\site-packages\win32com\client\__init__.py", line 459, in _ApplyTypes_
    self._oleobj_.InvokeTypes(dispid, 0, wFlags, retType, argTypes, *args),
pywintypes.com_error: (-2147352567, 'Ошибка.', (61704, 'КОМПАС-3D v17.1 (x64)', 'Внутренняя ошибка приложения.', None, 0, 0), None)

Цитата: Slaviation от 13.12.24, 14:26:28Вы правили свой скрипт или запускали мой?

путь до dll конечно же менял под свою версию "C:\\Program Files\\ASCON\\KOMPAS-3D v17\\Bin\\Pdf2d.dll"

А "цветастость" пдфки это, собственно, основное, что надо от конвертера, а как это починить - непонятно, использовать другую версию компаса возможности, к сожалению, нет.

Slaviation

Ок.
Строка 28 должна была создать в каталоге
<Каталог установки Python>\Lib\site-packages\win32com\gen_py\
файл 31EBF650-BD38-43EC-892B-1F8AC6C14430x0x1x0.py
Есть там в классе IPdf2dParam, в словаре _prop_map_put_ ключ "ColorType" ?

Komp_ass

#165
Цитата: Slaviation от 13.12.24, 14:38:33Есть там в классе IPdf2dParam, в словаре _prop_map_put_ ключ "ColorType" ?

Есть.


Slaviation

Ок.
Попробуйте зарегистрировать Pdf2d.dll из под админа командой regsvr32. Если не поможет, дайте ссылку скачать вашу Pdf2d.dll.

Komp_ass

Регистрация к успеху не привела.

UU

Цитата: Komp_ass от 13.12.24, 12:50:02Всем доброго времени суток! Пишу макрос для конвертирования документов в PDF.
Компас 17.1.16.
Имеется проблема с установкой или выводом цветов

Код устанавливающий параметр отображения цветов:
Converter = iApplication.Converter('C:\\Program Files\\ASCON\\KOMPAS-3D v17\\Bin\\Pdf2d.dll')
Converter_parameters = Converter.ConverterParameters(0)
Converter_parameters.ColorType = 1

Вывод:
Traceback (most recent call last):
  File "c:/kompas_api/save_to_pdf_2.py", line 31, in <module>
    Converter_parameters.ColorType = 1
  File "C:\Program Files\ASCON\KOMPAS-3D v17\Libs\Kompas-Macro\Python 3\App\lib\site-packages\win32com\client\dynamic.py", line 576, in __setattr__
    raise AttributeError("Property '%s.%s' can not be set." % (self._username_, attr))
AttributeError: Property 'ConverterParameters.ColorType' can not be set.

Код выводящий в консоль установленный параметр отображения цветов:
Converter = iApplication.Converter('C:\\Program Files\\ASCON\\KOMPAS-3D v17\\Bin\\Pdf2d.dll')
Converter_parameters = Converter.ConverterParameters(0)
print(Converter_parameters.ColorType)

Вывод:
Traceback (most recent call last):
  File "c:/kompas_api/save_to_pdf_2.py", line 31, in <module>
    print(Converter_parameters.ColorType)
  File "C:\Program Files\ASCON\KOMPAS-3D v17\Libs\Kompas-Macro\Python 3\App\lib\site-packages\win32com\client\dynamic.py", line 511, in __getattr__
    ret = self._oleobj_.Invoke(retEntry.dispid,0,invoke_type,1)
pywintypes.com_error: (-2147352567, 'Ошибка.', (61704, 'КОМПАС-3D v17.1 (x64)', 'Внутренняя ошибка приложения.', None, 0, 0), None)

При этом все остальные параметры:
CutByFormat
DrawQuality
EmbedFonts
FilterDisable
FilterFlags
FilterStyles
GrayScale
HeightUserSheet
HorizontOrientation
ISOid
MultiPageOutput
MultipleFormat
OnlyThinLine
PageOddEven
PageRange
PageRangeStr
Resolution
Scale
WidthUserSheet
можно и задавать и выводить без проблем.

Почему с цветом возникает такая проблема, как ее исправить?
За чем писать, когда она, уже есть?

Komp_ass

Цитата: UU от 14.12.24, 10:18:02За чем писать, когда она, уже есть?
Затем, что мне не нужна уже готовая утилита или библиотека, так как в дальнейшем этот кусок будет применятся в других макросах, поэтому имеется необходимость разобраться с кодом который почему-то работает частично.

UU

Цитата: Komp_ass от 16.12.24, 16:40:01Затем, что мне не нужна уже готовая утилита или библиотека, так как в дальнейшем этот кусок будет применятся в других макросах, поэтому имеется необходимость разобраться с кодом который почему-то работает частично.
То есть Вы хотите сказать, что предложенная - не готова?

Komp_ass

Цитата: UU от 16.12.24, 17:18:20То есть Вы хотите сказать, что предложенная - не готова?
Нет, я сказал что предложенная мне нужна, так как она является отдельной утилитой, и как указано по ссылке для пакетного конвертирования файлов. Мне надо разобраться почему в моем коде не работает установка или считывание параметра TypeColor и все. Мой код мне понадобится в моих других макросах, а эта утилита мне не поможет.

UU

Цитата: Komp_ass от 16.12.24, 17:33:25Нет, я сказал что предложенная мне нужна, так как она является отдельной утилитой, и как указано по ссылке для пакетного конвертирования файлов. Мне надо разобраться почему в моем коде не работает установка или считывание параметра TypeColor и все. Мой код мне понадобится в моих других макросах, а эта утилита мне не поможет.
Да, Вам - не поможет.