Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
D
device-back
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
1
议题
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
Matrix
device-back
Commits
0fcb2724
提交
0fcb2724
authored
7月 21, 2021
作者:
133
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[模版] 添加二维码信息
上级
f6b5cb4a
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
63 行增加
和
2 行删除
+63
-2
pom.xml
dev-file/pom.xml
+5
-0
Documents.java
.../main/java/com/tykj/dev/device/file/entity/Documents.java
+4
-0
JavaToPdfHtmlFreeMarker.java
...om/tykj/dev/device/file/util/JavaToPdfHtmlFreeMarker.java
+46
-1
bill.html
dev-union/src/main/resources/bill.html
+8
-1
没有找到文件。
dev-file/pom.xml
浏览文件 @
0fcb2724
...
@@ -58,6 +58,11 @@
...
@@ -58,6 +58,11 @@
<groupId>
com.tykj
</groupId>
<groupId>
com.tykj
</groupId>
<artifactId>
dev-library
</artifactId>
<artifactId>
dev-library
</artifactId>
</dependency>
</dependency>
<dependency>
<groupId>
com.tykj
</groupId>
<artifactId>
dev-zxing
</artifactId>
</dependency>
<dependency>
<dependency>
<groupId>
org.xhtmlrenderer
</groupId>
<groupId>
org.xhtmlrenderer
</groupId>
<artifactId>
flying-saucer-pdf-itext5
</artifactId>
<artifactId>
flying-saucer-pdf-itext5
</artifactId>
...
...
dev-file/src/main/java/com/tykj/dev/device/file/entity/Documents.java
浏览文件 @
0fcb2724
...
@@ -21,6 +21,10 @@ import java.util.List;
...
@@ -21,6 +21,10 @@ import java.util.List;
@Data
@Data
@ApiModel
(
value
=
"出库入库单据样式"
,
description
=
"出库入库单据属性实体"
)
@ApiModel
(
value
=
"出库入库单据样式"
,
description
=
"出库入库单据属性实体"
)
public
class
Documents
{
public
class
Documents
{
@ApiModelProperty
private
Integer
id
;
@ApiModelProperty
(
value
=
"单据号"
)
@ApiModelProperty
(
value
=
"单据号"
)
private
String
number
;
private
String
number
;
...
...
dev-file/src/main/java/com/tykj/dev/device/file/util/JavaToPdfHtmlFreeMarker.java
浏览文件 @
0fcb2724
...
@@ -4,6 +4,7 @@ import com.itextpdf.text.Document;
...
@@ -4,6 +4,7 @@ import com.itextpdf.text.Document;
import
com.itextpdf.text.DocumentException
;
import
com.itextpdf.text.DocumentException
;
import
com.itextpdf.text.pdf.*
;
import
com.itextpdf.text.pdf.*
;
import
com.tykj.dev.device.file.entity.*
;
import
com.tykj.dev.device.file.entity.*
;
import
com.tykj.dev.device.zxing.util.ZXingUtil
;
import
freemarker.template.Configuration
;
import
freemarker.template.Configuration
;
import
freemarker.template.Template
;
import
freemarker.template.Template
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.beans.factory.annotation.Value
;
...
@@ -193,7 +194,10 @@ public class JavaToPdfHtmlFreeMarker {
...
@@ -193,7 +194,10 @@ public class JavaToPdfHtmlFreeMarker {
Writer
out
=
new
StringWriter
();
Writer
out
=
new
StringWriter
();
String
[]
strings
=
new
String
[
100000
];
String
[]
strings
=
new
String
[
100000
];
int
index
=
0
;
int
index
=
0
;
try
{
try
{
String
QRCode
=
ZXingUtil
.
encode
(
documents
.
getId
());
System
.
out
.
println
(
QRCode
);
// 获取模板,并设置编码方式
// 获取模板,并设置编码方式
Template
template
=
freemarkerCfg
.
getTemplate
(
"bill.html"
);
Template
template
=
freemarkerCfg
.
getTemplate
(
"bill.html"
);
template
.
setEncoding
(
"UTF-8"
);
template
.
setEncoding
(
"UTF-8"
);
...
@@ -207,7 +211,7 @@ public class JavaToPdfHtmlFreeMarker {
...
@@ -207,7 +211,7 @@ public class JavaToPdfHtmlFreeMarker {
String
htmlname
=
htmlPath
+
UUID
.
randomUUID
().
toString
()+
".html"
;
String
htmlname
=
htmlPath
+
UUID
.
randomUUID
().
toString
()+
".html"
;
// 合并数据模型与模板
// 合并数据模型与模板
FileWriter
fileWriter
=
new
FileWriter
(
new
File
(
htmlname
));
FileWriter
fileWriter
=
new
FileWriter
(
new
File
(
htmlname
));
template
.
process
(
toMap
(
documents
,
list1
,
MAP
.
get
(
i
),
page
,
count
),
fileWriter
);
template
.
process
(
toMap
(
documents
,
list1
,
MAP
.
get
(
i
),
page
,
count
,
QRCode
),
fileWriter
);
out
.
flush
();
out
.
flush
();
strings
[
index
]=
htmlname
;
strings
[
index
]=
htmlname
;
index
++;
index
++;
...
@@ -470,6 +474,47 @@ public class JavaToPdfHtmlFreeMarker {
...
@@ -470,6 +474,47 @@ public class JavaToPdfHtmlFreeMarker {
}
}
private
static
Map
<
String
,
Object
>
toMap
(
Documents
documents
,
List
<
DocumentDevice
>
list
,
String
test
,
Integer
page
,
Integer
count
,
String
QRCode
){
Map
<
String
,
Object
>
data
=
new
HashMap
();
data
.
put
(
"ul"
,
test
);
data
.
put
(
"number"
,
documents
.
getNumber
());
data
.
put
(
"title"
,
documents
.
getTitle
());
data
.
put
(
"receiveUnit"
,
documents
.
getReceiveUnit
());
data
.
put
(
"replyNum"
,
documents
.
getReplyNum
());
data
.
put
(
"senderUnit"
,
documents
.
getSenderUnit
());
data
.
put
(
"page"
,
page
);
data
.
put
(
"count"
,
count
);
data
.
put
(
"QRCode"
,
"\""
+
"data:image/png;base64,"
+
QRCode
+
"\""
);
if
(
documents
.
getSrcA
()==
null
||
documents
.
getSrcA
().
equals
(
""
)){
data
.
put
(
"srcA"
,
"\""
+
1
+
"\""
);
}
else
{
data
.
put
(
"srcA"
,
"\""
+
documents
.
getSrcA
()+
"\""
);
}
data
.
put
(
"nameA"
,
documents
.
getNameA
());
data
.
put
(
"nameA1"
,
documents
.
getNameA1
());
data
.
put
(
"nameB"
,
documents
.
getNameB
());
data
.
put
(
"nameB1"
,
documents
.
getNameB1
());
if
(
documents
.
getSrcB
()==
null
||
documents
.
getSrcB
().
equals
(
""
)){
data
.
put
(
"srcB"
,
"\""
+
1
+
"\""
);
}
else
{
data
.
put
(
"srcB"
,
"\""
+
documents
.
getSrcB
()+
"\""
);
}
List
<
DocumentDevice
>
list1
=
new
ArrayList
<>();
AtomicInteger
i
=
new
AtomicInteger
(
1
);
list
.
forEach
(
documentDevice
->
{
documentDevice
.
setCode
(
i
.
get
());
i
.
set
(
i
.
get
()
+
1
);
list1
.
add
(
documentDevice
);
}
);
data
.
put
(
"documentDevices"
,
list1
);
return
data
;
}
private
static
Map
<
String
,
Object
>
toConfirmMap
(
Confirm
confirm
,
List
<
DocumentDevice
>
list
,
Integer
page
,
Integer
count
){
private
static
Map
<
String
,
Object
>
toConfirmMap
(
Confirm
confirm
,
List
<
DocumentDevice
>
list
,
Integer
page
,
Integer
count
){
...
...
dev-union/src/main/resources/bill.html
浏览文件 @
0fcb2724
...
@@ -16,7 +16,13 @@
...
@@ -16,7 +16,13 @@
@page
{
@page
{
size
:
297mm
210mm
;
size
:
297mm
210mm
;
}
}
.erwei
{
width
:
43px
;
height
:
43px
;
position
:
fixed
;
left
:
150px
;
top
:
0px
;
}
.bottomTxt
{
.bottomTxt
{
text-align
:
center
;
text-align
:
center
;
font-size
:
15px
;
font-size
:
15px
;
...
@@ -415,6 +421,7 @@ border:1px solid #bebebe;
...
@@ -415,6 +421,7 @@ border:1px solid #bebebe;
<div
class=
"returnTablePrint"
>
<div
class=
"returnTablePrint"
>
<img
class=
"erwei"
src=
${QRCode}
/>
<div
class=
"content"
>
<div
class=
"content"
>
<div>
<div>
<div
class=
"listWrapper"
>
<div
class=
"listWrapper"
>
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论