Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
D
datax-cloud
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
黄营
datax-cloud
Commits
31ce94c0
Commit
31ce94c0
authored
Aug 04, 2020
by
yuwei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
项目初始化
parent
e64586e9
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
19 additions
and
186 deletions
+19
-186
WordUtil.java
...ce/src/main/java/cn/datax/commo/office/word/WordUtil.java
+19
-70
QuartzConfig.java
...ain/java/cn/datax/service/quartz/config/QuartzConfig.java
+0
-116
No files found.
datax-common/datax-common-office/src/main/java/cn/datax/commo/office/word/WordUtil.java
View file @
31ce94c0
package
cn
.
datax
.
commo
.
office
.
word
;
package
cn
.
datax
.
commo
.
office
.
word
;
import
com.aspose.words.*
;
import
com.aspose.words.*
;
import
com.aspose.words.Shape
;
import
java.awt.*
;
import
java.io.*
;
import
java.io.*
;
import
java.util.*
;
import
java.util.*
;
import
java.util.List
;
import
java.util.List
;
import
java.util.function.Function
;
public
class
WordUtil
{
public
class
WordUtil
{
...
@@ -170,89 +171,37 @@ public class WordUtil {
...
@@ -170,89 +171,37 @@ public class WordUtil {
* @param doc word文件流
* @param doc word文件流
* @param watermarkText 水印内容
* @param watermarkText 水印内容
*/
*/
public
static
void
insertWatermarkText
(
Document
doc
,
String
watermarkText
)
{
private
static
void
insertWatermarkText
(
Document
doc
,
String
watermarkText
)
throws
Exception
{
// 居中
insertWatermarkText
(
doc
,
watermarkText
,
new
Function
<
Shape
,
Object
>()
{
@Override
public
Object
apply
(
Shape
watermark
)
{
// Place the watermark in the page center.
watermark
.
setRelativeHorizontalPosition
(
RelativeHorizontalPosition
.
PAGE
);
watermark
.
setRelativeVerticalPosition
(
RelativeVerticalPosition
.
PAGE
);
watermark
.
setWrapType
(
WrapType
.
NONE
);
watermark
.
setVerticalAlignment
(
VerticalAlignment
.
CENTER
);
watermark
.
setHorizontalAlignment
(
HorizontalAlignment
.
CENTER
);
return
null
;
}
});
// 顶部
insertWatermarkText
(
doc
,
watermarkText
,
new
Function
<
Shape
,
Object
>()
{
@Override
public
Object
apply
(
Shape
watermark
)
{
watermark
.
setRelativeHorizontalPosition
(
RelativeHorizontalPosition
.
MARGIN
);
watermark
.
setRelativeVerticalPosition
(
RelativeVerticalPosition
.
MARGIN
);
watermark
.
setWrapType
(
WrapType
.
NONE
);
// 我们需要自定义距离顶部的高度
watermark
.
setVerticalAlignment
(
VerticalAlignment
.
TOP
);
watermark
.
setHorizontalAlignment
(
HorizontalAlignment
.
CENTER
);
// watermark.setTop(120);
return
null
;
}
});
// 尾部
insertWatermarkText
(
doc
,
watermarkText
,
new
Function
<
Shape
,
Object
>()
{
@Override
public
Object
apply
(
Shape
watermark
)
{
watermark
.
setRelativeHorizontalPosition
(
RelativeHorizontalPosition
.
MARGIN
);
watermark
.
setRelativeVerticalPosition
(
RelativeVerticalPosition
.
MARGIN
);
watermark
.
setWrapType
(
WrapType
.
NONE
);
// 我们需要自定义距离顶部的高度
watermark
.
setVerticalAlignment
(
VerticalAlignment
.
BOTTOM
);
watermark
.
setHorizontalAlignment
(
HorizontalAlignment
.
CENTER
);
// 设置距离顶部的高度
// watermark.setTop(480);
return
null
;
}
});
}
private
static
void
insertWatermarkText
(
Document
doc
,
String
watermarkText
,
Function
<
Shape
,
Object
>
watermaskPositionConfigFunc
)
{
Shape
watermark
=
new
Shape
(
doc
,
ShapeType
.
TEXT_PLAIN_TEXT
);
Shape
watermark
=
new
Shape
(
doc
,
ShapeType
.
TEXT_PLAIN_TEXT
);
watermark
.
setName
(
"WaterMark"
);
watermark
.
getTextPath
().
setText
(
watermarkText
);
watermark
.
getTextPath
().
setText
(
watermarkText
);
// 这里设置为宋体可以保证在转换为PDF时中文不是乱码.
watermark
.
getTextPath
().
setFontFamily
(
"Arial"
);
watermark
.
getTextPath
().
setFontFamily
(
"WeiRuanYaHei"
);
watermark
.
setWidth
(
500
);
// WeiRuanYaHei 宋体
watermark
.
setHeight
(
100
);
try
{
watermark
.
setRotation
(-
40
);
// 水印大小
watermark
.
getFill
().
setColor
(
Color
.
GRAY
);
watermark
.
setWidth
(
150
);
watermark
.
setStrokeColor
(
Color
.
GRAY
);
watermark
.
setHeight
(
30
);
watermark
.
setRelativeHorizontalPosition
(
RelativeHorizontalPosition
.
PAGE
);
}
catch
(
Exception
e
)
{
watermark
.
setRelativeVerticalPosition
(
RelativeVerticalPosition
.
PAGE
);
throw
new
RuntimeException
(
e
);
watermark
.
setWrapType
(
WrapType
.
NONE
);
}
watermark
.
setVerticalAlignment
(
VerticalAlignment
.
CENTER
);
// 左下到右上
watermark
.
setHorizontalAlignment
(
HorizontalAlignment
.
CENTER
);
watermark
.
setRotation
(-
20
);
// 字体RGB颜色
final
String
colorStr
=
"808080"
;
watermark
.
getFill
().
setColor
(
new
java
.
awt
.
Color
(
Integer
.
parseInt
(
colorStr
,
16
)));
watermark
.
setStrokeColor
(
new
java
.
awt
.
Color
(
Integer
.
parseInt
(
colorStr
,
16
)));
watermaskPositionConfigFunc
.
apply
(
watermark
);
Paragraph
watermarkPara
=
new
Paragraph
(
doc
);
Paragraph
watermarkPara
=
new
Paragraph
(
doc
);
watermarkPara
.
appendChild
(
watermark
);
watermarkPara
.
appendChild
(
watermark
);
for
(
Section
sect
:
doc
.
getSections
())
{
for
(
Section
sect
:
doc
.
getSections
())
{
insertWatermarkIntoHeader
(
watermarkPara
,
sect
,
HeaderFooterType
.
HEADER_PRIMARY
);
insertWatermarkIntoHeader
(
watermarkPara
,
sect
,
HeaderFooterType
.
HEADER_PRIMARY
);
insertWatermarkIntoHeader
(
watermarkPara
,
sect
,
HeaderFooterType
.
HEADER_FIRST
);
insertWatermarkIntoHeader
(
watermarkPara
,
sect
,
HeaderFooterType
.
HEADER_EVEN
);
}
}
}
}
private
static
void
insertWatermarkIntoHeader
(
Paragraph
watermarkPara
,
Section
sect
,
int
headerType
)
{
private
static
void
insertWatermarkIntoHeader
(
Paragraph
watermarkPara
,
Section
sect
,
int
headerType
)
throws
Exception
{
HeaderFooter
header
=
sect
.
getHeadersFooters
().
getByHeaderFooterType
(
headerType
);
HeaderFooter
header
=
sect
.
getHeadersFooters
().
getByHeaderFooterType
(
headerType
);
if
(
header
==
null
)
{
if
(
header
==
null
)
{
header
=
new
HeaderFooter
(
sect
.
getDocument
(),
headerType
);
header
=
new
HeaderFooter
(
sect
.
getDocument
(),
headerType
);
sect
.
getHeadersFooters
().
add
(
header
);
sect
.
getHeadersFooters
().
add
(
header
);
}
}
try
{
header
.
appendChild
(
watermarkPara
.
deepClone
(
true
));
header
.
appendChild
(
watermarkPara
.
deepClone
(
true
));
}
catch
(
Exception
e
)
{
throw
new
RuntimeException
(
e
);
}
}
}
public
static
void
main
(
String
[]
args
)
throws
Exception
{
public
static
void
main
(
String
[]
args
)
throws
Exception
{
...
...
datax-modules/quartz-service-parent/quartz-service/src/main/java/cn/datax/service/quartz/config/QuartzConfig.java
deleted
100644 → 0
View file @
e64586e9
//package cn.datax.service.quartz.config;
//
//import cn.datax.service.quartz.quartz.utils.ScheduleUtil;
//import com.zaxxer.hikari.HikariDataSource;
//import org.quartz.Scheduler;
//import org.quartz.spi.TriggerFiredBundle;
//import org.springframework.beans.factory.config.AutowireCapableBeanFactory;
//import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties;
//import org.springframework.boot.autoconfigure.quartz.QuartzDataSource;
//import org.springframework.boot.context.properties.ConfigurationProperties;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//import org.springframework.context.annotation.Primary;
//import org.springframework.scheduling.quartz.AdaptableJobFactory;
//import org.springframework.scheduling.quartz.SchedulerFactoryBean;
//import org.springframework.stereotype.Component;
//
//import javax.sql.DataSource;
//
//@Configuration
//public class QuartzConfig {
//
// /**
// * 创建 mysql 数据源的配置对象
// */
// @Primary
// @Bean(name = "mysqlDataSourceProperties")
// @ConfigurationProperties(prefix = "spring.datasource.mysql")
// public DataSourceProperties mysqlDataSourceProperties() {
// return new DataSourceProperties();
// }
//
// /**
// * 创建 mysql 数据源
// */
// @Primary
// @Bean(name = "mysqlDataSource")
// @ConfigurationProperties(prefix = "spring.datasource.mysql")
// public DataSource userDataSource() {
// // 获得 DataSourceProperties 对象
// DataSourceProperties properties = this.mysqlDataSourceProperties();
// // 创建 HikariDataSource 对象
// return createHikariDataSource(properties);
// }
//
// /**
// * 创建 quartz 数据源的配置对象
// */
// @Bean(name = "quartzDataSourceProperties")
// @ConfigurationProperties(prefix = "spring.datasource.quartz")
// public DataSourceProperties quartzDataSourceProperties() {
// return new DataSourceProperties();
// }
//
// /**
// * 创建 quartz 数据源
// */
// @Bean(name = "quartzDataSource")
// @ConfigurationProperties(prefix = "spring.datasource.quartz")
// @QuartzDataSource
// public DataSource quartzDataSource() {
// // 获得 DataSourceProperties 对象
// DataSourceProperties properties = this.quartzDataSourceProperties();
// // 创建 HikariDataSource 对象
// return createHikariDataSource(properties);
// }
//
// private static HikariDataSource createHikariDataSource(DataSourceProperties properties) {
// // 创建 HikariDataSource 对象
// HikariDataSource dataSource = properties.initializeDataSourceBuilder().type(HikariDataSource.class).build();
// return dataSource;
// }
//
// /**
// * 该类主要是为了把 job 对象的注入到 spring 中
// */
// @Component("quartzJobFactory")
// public static class QuartzJobFactory extends AdaptableJobFactory {
// //这个对象可以通过 ApplicationContext.getAutowireCapableBeanFactory()获取
// private final AutowireCapableBeanFactory capableBeanFactory;
//
// public QuartzJobFactory(AutowireCapableBeanFactory capableBeanFactory) {
// this.capableBeanFactory = capableBeanFactory;
// }
// /**
// * Job 对象的实例化过程是在Quartz中进行的,通过重写此方法 把job 实例注入到spring容器中
// */
// @Override
// protected Object createJobInstance(TriggerFiredBundle bundle) throws Exception {
// //调用父类的方法
// Object jobInstance = super.createJobInstance(bundle);
// //注入到spring容器
// capableBeanFactory.autowireBean(jobInstance);
// return jobInstance;
// }
// }
//
// /**
// * 注入scheduler到spring
// * @param quartzJobFactory
// * @return Scheduler
// * @throws Exception
// */
// @Bean(name = "scheduler")
// public Scheduler scheduler(QuartzJobFactory quartzJobFactory) throws Exception {
// SchedulerFactoryBean factoryBean = new SchedulerFactoryBean();
// factoryBean.setJobFactory(quartzJobFactory);
// factoryBean.setDataSource(quartzDataSource());
// factoryBean.afterPropertiesSet();
// Scheduler scheduler = factoryBean.getScheduler();
// scheduler.start();
// // 设置ScheduleUtil的定时处理对象
// ScheduleUtil.setScheduler(scheduler);
// return scheduler;
// }
//}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment