- 博客(177)
- 资源 (11)
- 问答 (2)
- 收藏
- 关注
原创 CorelDRAW扩展开发:Shape形状对象的使用
在CorelDRAW扩展开发中,Shape对象扮演着极为重要的角色,它代表CorelDRAW图层中的各种形状对象,涵盖文本、位图、曲线、矩形等所有图层元素。通过对Shape对象属性和方法的操作,开发者能够实现丰富多样的功能。
2025-12-17 16:03:16
23
原创 CorelDRAW扩展开发:Layer图层对象的使用
在CorelDRAW扩展开发里,Layer对象用于表示CorelDRAW页面中的图层。借助对Layer对象属性与方法的操作,开发者能够实现各类与图层相关的功能,比如图层管理、对象创建等。
2025-12-17 15:00:38
19
原创 CorelDRAW 扩展开发:Page 页面对象的使用
在CorelDRAW扩展开发中,Page对象代表CorelDRAW文档中的页面。通过操作Page对象的属性和方法,开发者能实现各类页面相关功能。
2025-12-17 12:34:41
24
原创 CorelDRAW扩展开发:Document文档对象的使用
在CDR插件开发中,文档对象(Document)是对象模型中极其核心的组成部分,而ActiveDocument表示的是活动文档,可以通过这个类快捷获取当前正在编辑的文档,这个类是CDR内置的,可以直接拿来使用。在文档中,有针对文档本身的很多属性、方法和事件,其中有很多有用的属性可以在开发过程中使用,例如Dirty属性可用来判断CDR文档是否被修改过,通过AddPages方法可用来添加页面,这些属性和方法在开发过程中会被经常使用。
2025-12-04 22:34:05
58
原创 CorelDRAW扩展开发:VBA对象模型入门
在 CorelDRAW 设计世界中,想实现自动化设计,突破效率瓶颈吗?二次开发领域的对象模型,正是关键钥匙 。 通过 VBA 与 CorelDRAW 对象模型交互,设计师与开发者可将基础图形绘制到复杂文档批量处理,实现高效自动化。 本教程将全方位剖析 CorelDRAW 对象模型,无论你是新手,还是想进阶的开发者,都能从中汲取提升设计效率的秘籍,快来一探究竟!
2025-11-15 10:51:16
132
原创 CDR插件开发教程之Application.ActiveDocument(应用程序.活动文档)
在 CorelDRAW(简称 CDR)的插件开发中,Application.ActiveDocument 是一个非常重要的属性,它允许开发者访问当前活动的文档。CorelDRAW 提供了一个强大的自动化接口,可以让开发者使用诸如 VBA (Visual Basic for Applications)、C++、.NET 等语言来编写扩展程序和插件。
2024-08-01 10:45:07
1342
原创 CDR插件开发之Addon插件008 - 在VS中下载安装Addons插件模板并基于模板创建Addon插件工程
本文介绍了Addons插件模板的由来,演示如何在VS 2022中安装Addon插件模板(扩展)。
2022-09-06 13:42:25
1963
原创 CDR插件开发之Addon插件007 - Addon插件简介和案例演示
本文讲解了Addon插件的概念和安装位置,介绍了Addon插件的组成结构,演示了如何通过手动拷贝的方式来安装一个Addon类型的CDR插件(力先插件)。
2022-09-03 10:28:08
2444
原创 CDR插件开发之Addon插件006 - 初体验:通过C#代码用外挂方式操作CDR中的对象
本文介绍了外挂式CDR插件的含义,和常规CDR插件的区别,并通过完整步骤演示了如何编写一个外挂式CDR插件的EXE程序。外挂式CDR插件虽然灵活方便,但其运行速度和执行效率和常规CDR插件相比并不是很高,仅供学习参考。
2022-09-02 11:20:30
1584
原创 CDR插件开发之Addon插件005 - Corel.Interop.VGCore.dll库文件简介
本文讲解了 Corel.Interop.VGCore.dll 库文件的基本概念,演示了如何在CDR软件的安装目录中查找到VGCore库文件所在的位置,最后演示了如何在C#项目中,添加 Corel.Interop.VGCore.dll 库文件的引用并通过对象浏览器进行查看,简单演示了 VGCore 在C#源文件中的引用方式。
2022-09-01 23:09:48
2026
原创 CDR插件开发之Addon插件004 - VS2022开发环境简介及个性化配置
本文针对初次使用VS的开发者,介绍了VS主菜单中常用的一些功能和重点功能的使用说明,可帮助VS开发者快速掌握VS开发工具的使用。
2022-09-01 14:19:26
1278
原创 CorelDRAW扩展开发:Application应用程序对象模型的使用
在CorelDRAW提供的对象模型中,Application是被开发者经常使用的一个对象,也是最顶级的对象。本文对CorelDRAW(以下简称CDR)对象模型中的 Application 类做了一个简单的解析,以帮助开发者能够清楚认识 Application 类的作用。
2022-08-26 18:48:52
4937
1
原创 CDR插件开发之Addon插件003 - 认识解决方案(sln)和项目(csproj)文件
本文讲解了解决方案和项目之间的关系,手把手演示了如何手动添加现有项目,并通过修改 .sln 文件来配置当前解决方案的项目集合,介绍了 sln 文件 和 csproj 文件的内容结构,演示了对项目进行(批量)清理和(批量)生成。......
2022-07-12 00:02:34
1861
原创 CDR插件开发之Addon插件002 - 用1分钟编写一个可双击运行的EXE程序
本文演示了通过VS快速创建一个简单的C#编写的EXE程序,讲解演示了VisualStudio中不同的项目类型,说了对项目进行基本的配置,包括添加和设置资源文件,同时也介绍了Debug模式、Relase模式的区别。.........
2022-07-11 22:38:14
1548
原创 CDR插件开发之Addon插件001 - 从零开始安装VS2022详细步骤
本文演示了从零开始安装VisualStudio2022的步骤,在安装过程中对一些重要的目录、安装选项做了介绍,给第一次安装VisualStudio的人指明了最佳实践,避免踩坑。
2022-03-19 22:15:19
3265
原创 018 - Spring的事务传播行为是什么
Spring事务的传播行为指的是:当多个事务同时存在的时候,Spring如何处理这些事务的行为。Spring有7种事务传播行为,其中默认的事务传播行为是:REQUIRED,它表示的是:如果当前没有事务,就创建一个新事务,如果当前存在事务,就加入该事务。...
2021-08-02 07:55:52
790
原创 017 - Spring事务的实现方式和实现原理
Spring事务的本质其实就是数据库对事务的支持,没有数据库的事务支持,Spring是无法提供事务功能的。真正的数据库层的事务提交和回滚是通过 binlog 或者 redo log实现的。
2021-08-02 07:49:35
699
原创 016 - Spring支持哪些事务管理类型?
Spring支持两种类型的事务管理:一、编程式事务管理:你可以通过编程的方式管理事务,手动提交和回滚事务,这种方式比较灵活,但是很难维护。二、声明式事务管理:你可以将业务代码和事务管理分离,你只需用通过注解和XML配置来管理事务,最常见的方式是 @Transactional 注解。...
2021-08-02 07:43:31
2647
原创 015 - Spring中的@RequestMapping注解有什么作用?
@RequestMapping 注解用于将特定 HTTP 请求方法映射到将处理相应请求的控制器中的特定类或者方法。此注释可应用于两个级别。一是类级别,表示映射请求的URL;二是方法级别,表示映射请求的URL以及对应的HTTP请求方法。...
2021-08-02 07:31:03
1387
原创 CorelDRAW扩展开发:编写你的第一个GMS插件
在前面的文章中,对GMS插件和VBA语言做了简单的介绍。理论不如实战,本文将从零到一,带你在CDR中创建你的第一个GMS插件,在实战中穿插讲解相关的知识点,使读者快速建立认知,产生对CDR插件开发的兴趣,进而结合自己的需要,编写能够辅助自己提高工作效率的CDR插件。
2021-08-02 05:44:33
4833
原创 IDEA编译项目提示程序包不存在,Maven不拉包问题解决办法
最近在项目开发过程中,两次遇到一个IDEA的奇怪问题,于是决定把解决方法记录下来,方便其他人参考。问题表现我的工程是Maven多模块工程,问题表现为以下两点:1、通过Idea右侧的Maven面板,能够成功编译(mvn compile),但是在本地仓库中,不会拉取部分私服中的包,不管你怎么导入,都不会拉取。2、运行项目,会提示一些程序包不存在(比如SpringBoot相关的包)的问题,但实际上这些包是存在的(磁盘上也有,项目中也能够通过鼠标跟踪跳转源码)。排查思路我首先通过 Mav
2021-07-29 14:09:24
3019
原创 AI插件开发入门教程001 - AI脚本简介
AI是当今和CDR主流的矢量平面设计排版软件,AI除了自身的功能外,还提供了多种语言的脚本支持,允许用户编写自己的脚本,实现复杂的的自动化操作,也就是通常所说的针对AI软件的二次开发。本文将对AI插件开发的相关知识,做一些基本介绍。什么是AI脚本脚本就是一系列的命令,用来告诉AI执行一个或多个任务。这些任务可以是简单的,只影响当前文档中的一个对象,也可以是复杂的,影响所有当前打开的AI文档。这些任务甚至可能涉及其他应用程序,比如文字处理器WORD、电子表格EXCEL和数据库管理程序等。在大多数情
2021-07-24 10:33:38
6981
5
原创 CorelDRAW扩展开发:GMS宏插件和VBA语言的关系
在上篇文章中,对GMS宏插件做了简单的介绍和演示。本文进一步探讨编写GMS插件必不可少的技能,即VBA语言。因为GMS插件是由VBA编程语言编写的,这门语言是很简单的一门语言,在WORD、EXCEL中很常见(比如宏,就是VBA编写的)。微软的WORD、EXCEL,最初就是VB语言编写的。
2021-07-21 22:26:22
3316
1
原创 CorelDRAW扩展开发:什么是GMS全局宏
GMS(Global Macro Storage,即全局宏存储,简称“全局宏”或“宏”)作为一种自动化脚本技术,在应对大规模图形处理任务中展现出显著优势。以广泛应用于广告与印刷行业的知名创意图形设计软件CDR为例,其在日常排版、设计与制作过程中,常涉及诸如条幅、名片、拼版、文字连襟等重复性高、批量大的图形处理工作。若完全依赖人工操作,不仅耗时费力、效率低下,且极易出现错误。因此,探索如何借助GMS技术实现自动化处理,对于提升设计工作效率与准确性具有重要意义。
2021-07-19 21:53:50
3197
原创 CDR插件开发之CPG插件018 - 在CPG插件中调用外部EXE程序并传递参数
在上篇文章中,讲解了CPG插件在VS2019中实现调试的具体方法。本文以具体代码为例,讲解在CPG插件中调用外部EXE程序,并传递运行参数的方法。工程搭建准备按照惯例,本篇文章的序号为018,请直接拷贝上一个工程017-cpg-debug(拷贝前最好清理掉 Debug、x64等编译目录,因为这些文件夹不需要保留,新的工程在编译时会自动生成),然后将其重命名为018-cpg-call-exe,如下图所示:拷贝后,打开018-cpg-call-exe,将解决方案的名称改名为:0...
2021-07-19 21:24:40
1450
原创 CDR插件开发之CPG插件017 - 在VS2019中实现CPG插件调试(自动写入CPG、自动启动CDR)
在上篇文章中,讲解了图像导出实例:当文档打开后,自动导出当前页面的图像到系统临时文件夹。在代码编写过程中,导出图像路径变量tmpFileName 被修改了很多次,有没有办法实现调试功能,通过控制台打印变量,而不用编译成CPG后再通过消息框来调试?当然是可以的。本篇作为单独篇,以CDR X8版本为例,讲解CPG插件在VS2019中实现调试的具体方法。工程搭建准备按照惯例,本篇文章的序号为017,请直接拷贝上一个工程016-export-image(拷贝前最好清理掉 Debug、x64等编译目录..
2021-07-18 15:36:40
1519
原创 CDR插件开发之CPG插件016 -【实例】在CPG插件中动态导出图像到临时文件夹
在上篇文章中,讲解了文档事件在CPG插件中的开发方式和使用例子。本文在文档事件的基础上,编写一个实用的例子:当文档打开后,自动导出当前页面的图像到系统临时文件夹下面的子文件夹中,子文件夹按照日期动态创建。工程搭建准备按照惯例,本篇文章的序号为016,请直接拷贝上一个工程015-document-event(拷贝前最好清理掉 Debug、x64等编译目录,因为这些文件夹不需要保留,新的工程在编译时会自动生成),然后将其重命名为016-export-image,如下图所示:拷贝后,打开...
2021-06-16 07:49:23
1128
2
原创 CDR插件开发之CPG插件015 - 在CPG插件中实现文档事件监听(基于 cgs-plugin-sdk 高级接口)
在上篇文章中,讲解了通过新建MFC类演示了简单的文本框读写操作,实现了读取和写入MFC窗体界面中的文本框内容。更多窗体控件的读写操作讲解,可能在后续文章中发布。本篇作为单独篇,讲解文档事件在CPG插件中的开发方式和使用例子。本文不按照 STEP BY STEP 的方式来细分讲解,重点关注cgs-plugin-sdk 插件工具包的能力。CDR插件开发工具包简介(cgs-plugin-sdk)CDR插件开发工具包的官方地址:https://www.oberonplace.com/cgs-pl..
2021-06-13 20:22:27
1103
原创 014 - Spring中的@Qualifier注解有什么作用?
如果创建了多个相同类型的Bean,那么Spring在初始化IOC容器时,不知道应该装配那个Bean,这时候可以使用@Qualififier 注解来指定应该装配哪个具体的Bean,主要作用是指定装配的Bean,避免歧义。
2021-06-07 16:44:00
842
原创 013 - Spring中@Autowired和@Resource注解有什么区别?
@Autowired和@Resource注解都可以用在构造函数、成员变量、setter方法上,他们的区别在于:@Autowired注解默认是按照类型装配注入的,默认情况下它要求依赖对象必须存在,如果不存在就会报错,可以设置required属性为false来解决;@Resource注解默认是按照名称来装配注入的,只有当找不到与名称匹配的Bean才会按照类型来装配注入。...
2021-06-07 16:38:59
406
原创 012 - Spring中的@Component、@Controller、@Repository、@Service 注解有何区别?
@Component:表示通用组件,它是任何Spring管理组件的通用类型。 @Controller:表示Spring Web MVC中的控制器。 @Service:和@Component并没有什么功能的不同,只是在表示层面上,它代表的是服务层的含义。@Repository:和@Component并没有什么功能的不同,只是在表示层面上,它代表的是数据访问层的含义。...
2021-06-07 16:32:49
549
原创 011 - Spirng中使用@Autowired注解自动装配的原理是什么
在启动IOC容器的时候,容器自动装载了一个AutowiredAnnotationBeanPostProcessor后置处理器,当容器扫描到@Autowied、@Resource或@Inject时,就会在IOC容器中自动查找需要的Bean,并装配给该对象的属性。在使用@Autowired时,首先在容器中查询对应类型的bean,如果查询结果刚好为一个,就将该bean装配给@Autowired指定的数据;如果查询的结果不止一个,那么@Autowired会根据名称来查找;如果都没找到,那么会抛出异常。如果要解决这种
2021-06-07 15:56:31
384
原创 010 - Spring的IOC容器中只存放单例Bean吗?
是的,Spring IOC容器中只存放单例Bean。因为IOC容器在初始化时,只会将scope等于singleton(单例)的对象进行实例化,而不会去实例化scope等于prototype的对象。IOC容器在初始化的时候,会将所有的bean初始化在singletonObjects这个ConcurrentHashMap中,bean是单例的。在获取bean的时候,首先会从singletonObjects去取,如果scope是单例,则可以获取到bean,如果scope是多例,则获取不到bean,需要从一个叫m
2021-06-07 15:37:27
903
原创 009 - Spring框架中的单例Bean是线程安全的吗?
Spring框架中的单例Bean默认是单例模式,不是线程安全的。Spring框架并没有对单例Bean进行多线程的封装处理。关于线程是否安全,可以从Bean的状态来考虑是否要进行处理,有状态的Bean就是有数据存储功能,例如VO视图对象,无状态的Bean是不会保存数据的,例如DAO类。实际上大部分时候Spring Bean都是无状态的,因此某种程度上来说,Bean也是安全的,但如果Bean有状态的话,那就要开发者自己去保证线程安全了,可以通过把Bean的作用域改为“prototype”,这样可以保证线程安全
2021-06-07 15:15:25
1246
原创 008 - Spring的Bean有哪些作用域?
singleton(单例): bean在每个Spring ioc 容器中只有一个实例。 prototype(原型):一个bean的定义可以有多个实例。 request(请求):每次http请求都会创建一个bean,该作用域仅在基于web的Spring ApplicationContext情形下有效。 session(会话):在一个HTTP Session中,一个bean定义对应一个实例。该作用域仅在基于web的Spring ApplicationContext情形下有效。 ...
2021-06-07 15:03:01
299
原创 CDR插件开发之CPG插件014 - 在CPG插件中实现窗体界面文本框读写交互
在上篇文章中,讲解MFC组件的安装相关步骤,其目的是为后续文章做铺垫,因为要操作复杂的窗体界面组件,必须要MFC组件的支持。本文开始演示简单的文本框读写操作,实现读取和写入MFC窗体界面中的文本框内容。
2021-06-03 17:05:05
1101
原创 007 - Spring框架中都用到了哪些设计模式?
可以通过首词法来记住Spring框架使用的一些设计模式:观单模代工(含义为观察单个模特代工)。1、观察者模式:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知,被自动更新,例如:ApplicationListener。2、单例模式:Bean默认为单例模式。3、模板方法模式:用来解决代码重复的问题,以 Template 结尾的类基本都是。比如:RestTemplate、JdbcmsTemplate等。4、代理模式:Spring的AOP功能用到了JDK的.
2021-06-03 17:00:06
418
原创 006 - 说一下什么是依赖查找?
依赖查找,英文名称为:Dependency Lookup,它表示的是容器中的受控对象通过容器的API来查找自己所依赖的资源和协作对象。这种方式虽然降低了对象间的依赖,但是同时也使用到了容器的API,造成了我们无法在容器外使用和测试对象。依赖查找是一种更加传统的IoC实现方式。...
2021-06-03 16:46:05
483
原创 005 - 说一下什么是依赖注入?
依赖注入,英文名称为:Dependency Injection,它表示的是由容器动态的将某个依赖关系注入到组件之中。依赖注入的根本目的,是为了提升组件重用的频率。通过依赖注入机制,我们只需要通过简单的配置,而无需任何代码就可指定目标需要的资源,完成自身的业务逻辑,而不需要关心具体的资源来自何处,由谁实现。依赖注入有四个关键:谁依赖谁?为什么需要依赖?谁注入谁?注入了什么。第一,谁依赖于谁?当然是应用程序依赖于IoC容器。第二,为什么需要依赖?应用程序需要IoC容器来提供对象需要的外部资源。第三
2021-06-03 16:39:22
510
原创 004 - 解释一下什么是IoC
IoC是控制反转的意思,英文全称为:Inversion of Control,它是面向对象编程中的一种设计原则。采用IoC设计的最大好处就是降低代码之间的耦合。IoC的具体实现策略一般有两种,分别是依赖注入(Dependency Injection,简称DI)和依赖查找(Dependency Lookup,简称DL)。...
2021-06-02 10:08:48
956
C#编写CDR插件(Addon插件)工程脚手架(支持X7、X8、2017、2018、2019、2020、2021、2022)
2022-09-06
C#编写外挂式CDR插件例子工程(附带对应的Corel.Interop.VGCore.dll)
2022-09-02
CDR插件开发必备 Corel.Interop.VGCore.dll(兼容性较好)
2022-09-01
CDR插件_唐小跃字效渐变v3.0(3D特效字、渐变色字).zip
2021-10-12
CorelDRAW X7 宏编程帮助文档|手册 CHM格式
2020-10-28
CDR插件技术网_真华CDR小游戏v1.2.zip
2021-10-12
CDR《GMS引导加载器》CPG插件及完整源码(基于VS2019、C++)
2021-02-19
CDR条幅插件V1.31.zip
2021-09-04
CDR广告条幅批量制作插件V1.2源码(含GMS、全部窗体、模块、字体CMX模板文件)
2021-06-01
CDR插件开发之文本处理.pdf
2021-05-28
CDR超平面云插件和传统CDR插件有什么区别
2024-08-01
使用C++开发CorelDRAW的CPG插件,创建了工具栏图标但无法点击如何解决
2021-05-06
CorelDRAW插件开发使用什么语言
2021-04-01
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅