Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
PrtLib
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
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
李定达
PrtLib
Commits
947c9b42
Commit
947c9b42
authored
Sep 03, 2019
by
xiaoqing.gu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1、增加字体加粗和放大的功能 2、修改子商品打印bug
parent
a2112b28
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
194 additions
and
76 deletions
+194
-76
PrtLib/PrtLib.suo
+0
-0
PrtLib/PrtLib/PrintLib.cpp
+96
-56
PrtLib/PrtLib/PrintLib.h
+31
-9
PrtLib/PrtLib/PrtSetConf.h
+6
-2
PrtLib/PrtLib/prtlib.cpp
+54
-5
PrtLib/PrtLib/prtlib.h
+1
-0
PrtLib/PrtLib/test.cpp
+6
-4
No files found.
PrtLib/PrtLib.suo
View file @
947c9b42
No preview for this file type
PrtLib/PrtLib/PrintLib.cpp
View file @
947c9b42
...
...
@@ -5,13 +5,13 @@
#include <sstream>
#include <time.h>
#include "Calculator.h"
#include "prtlib.h"
#include "fmlog.h"
using
namespace
rapidxml
;
using
namespace
rapidjson
;
EXTERN_C
IMAGE_DOS_HEADER
__ImageBase
;
PrintLib
::
PrintLib
(
void
)
...
...
@@ -110,7 +110,7 @@ void PrintLib::_LabPrintLine(rapidxml::xml_node<> *node,rapidjson::Document &jso
_LabPrintData
(
lineArg
);
}
void
PrintLib
::
_PrintLine
(
rapidxml
::
xml_node
<>
*
node
,
rapidjson
::
Document
&
jsonDoc
,
rapidjson
::
Value
&
childNode
)
void
PrintLib
::
_PrintLine
(
rapidxml
::
xml_node
<>
*
node
,
rapidjson
::
Document
&
jsonDoc
,
const
rapidjson
::
Value
&
childNode
)
{
LinePrintArguments
lineArg
=
_ParsePrintArgumnets
(
node
);
//属性值解析
//解析xml中math,获取信息
...
...
@@ -167,53 +167,29 @@ void PrintLib::_PrintLine(rapidxml::xml_node<> *node,rapidjson::Document &jsonDo
_PrintData
(
lineArg
);
}
void
PrintLib
::
_PrintMultLine
(
rapidxml
::
xml_node
<>
*
node
,
rapidjson
::
Document
&
jsonDoc
,
rapidjson
::
Value
&
jsonValue
)
void
PrintLib
::
_PrintMultLine
(
rapidxml
::
xml_node
<>
*
node
,
rapidjson
::
Document
&
jsonDoc
)
{
xml_attribute
<>*
attr
=
node
->
first_attribute
(
"array"
);
std
::
string
fieldName
=
attr
->
value
();
rapidjson
::
Value
childJson
;
bool
ret
=
_GetJsonArryNode
(
fieldName
,
jsonDoc
,
childJson
);
if
(
!
ret
)
{
for
(
SizeType
i
=
0
;
i
<
childJson
.
Size
();
i
++
)
{
rapidjson
::
Value
&
temp
=
childJson
[
i
];
_XMLiterate
(
node
,
jsonDoc
,
temp
);
}
}
else
{
if
(
jsonValue
.
IsArray
())
{
int
g
=
jsonValue
.
Size
();
for
(
SizeType
i
=
0
;
i
<
jsonValue
.
Size
();
i
++
)
{
rapidjson
::
Value
&
temp
=
jsonValue
[
i
];
if
(
temp
.
HasMember
(
fieldName
.
c_str
()))
{
rapidjson
::
Value
&
FirstSub
=
temp
[
fieldName
.
c_str
()];
for
(
SizeType
i
=
0
;
i
<
FirstSub
.
Size
();
i
++
)
{
rapidjson
::
Value
&
SecondSub
=
FirstSub
[
i
];
_XMLiterate
(
node
,
jsonDoc
,
SecondSub
);
}
rapidjson
::
Value
contact
(
kArrayType
);
_GetJsonArryNode
(
node
,
fieldName
,
jsonDoc
,
contact
);
}
}
void
PrintLib
::
_PrintMultLine
(
rapidxml
::
xml_node
<>
*
node
,
rapidjson
::
Document
&
jsonDoc
,
const
rapidjson
::
Value
&
childNode
)
}
}
{
xml_attribute
<>*
attr
=
node
->
first_attribute
(
"array"
);
std
::
string
fieldName
=
attr
->
value
();
_GetJsonArryNode
(
node
,
fieldName
,
jsonDoc
,
childNode
);
}
}
void
PrintLib
::
_XMLiterate
(
rapidxml
::
xml_node
<>
*
node
,
rapidjson
::
Document
&
jsonDoc
,
rapidjson
::
Value
&
jsonChild
)
{
void
PrintLib
::
_XMLiterate
(
rapidxml
::
xml_node
<>
*
node
,
rapidjson
::
Document
&
jsonDoc
,
const
rapidjson
::
Value
&
jsonChild
)
{
xml_node
<>
*
childNode
=
node
->
first_node
();
while
(
childNode
!=
NULL
)
{
std
::
string
nodeName
=
childNode
->
name
();
...
...
@@ -222,9 +198,10 @@ void PrintLib::_XMLiterate(rapidxml::xml_node<> *node,rapidjson::Document &jsonD
if
(
nodeName
.
compare
(
"line"
)
==
0
)
{
_PrintLine
(
childNode
,
jsonDoc
,
jsonChild
);
}
else
}
else
{
_PrintMultLine
(
childNode
,
jsonDoc
,
jsonChild
);
_PrintMultLine
(
childNode
,
jsonDoc
,
jsonChild
);
//迭代到第二级
}
childNode
=
childNode
->
next_sibling
();
}
...
...
@@ -282,9 +259,10 @@ bool PrintLib::_PrintOrder(rapidxml::xml_node<> * xmlNode,rapidjson::Document&
rapidjson
::
Value
paraValue
;
if
(
nodeName
.
compare
(
"line"
)
==
0
)
{
//
_PrintLine
(
node
,
doc
,
paraValue
);
}
else
//多行处理
}
else
{
_PrintMultLine
(
node
,
doc
,
paraValue
);
//解析json中位于第一层的multLine定义的字段信息
_PrintMultLine
(
node
,
doc
);
}
}
...
...
@@ -372,6 +350,7 @@ bool PrintLib::DoPrint(std::string prtStr, std::string orderStr, std::string xml
LOG
()
<<
"OpenPrinter failed"
;
return
false
;
}
Document
dJson
;
...
...
@@ -925,6 +904,20 @@ LabLinePrintArguments PrintLib::_LabParsePrintArgumnets( const rapidxml::xml_nod
arguments
.
line
=
0
;
}
// 打印粗细
attr
=
e
->
first_attribute
(
"bold"
);
if
(
attr
!=
NULL
)
{
arguments
.
bold
=
std
::
atoi
(
attr
->
value
());
}
// 打印字体放大
attr
=
e
->
first_attribute
(
"large"
);
if
(
attr
!=
NULL
)
{
arguments
.
large
=
std
::
atoi
(
attr
->
value
());
}
return
arguments
;
}
...
...
@@ -1095,14 +1088,23 @@ void PrintLib::_LabPrintData( const LabLinePrintArguments& arguments )
int
x
=
arguments
.
x
;
int
y
=
arguments
.
y
;
int
line
=
arguments
.
line
;
int
bold
=
arguments
.
bold
;
int
large
=
arguments
.
large
;
char
*
temchar
=
new
char
[
2048
];
memset
(
temchar
,
0
,
2048
);
strcpy
(
temchar
,
text
.
c_str
());
if
(
!
printType
.
compare
(
"Text"
)){
//调用FMPOSDLL打印单行数据
LabPrtLine
(
x
,
y
,
line
,
temchar
)
;
if
(
bold
==
1
)
{
LabPrtLineWithSizeAndStyle
(
x
,
y
,
24
,
2
,
line
,
temchar
);
}
else
if
(
large
==
1
)
{
LabPrtLineWithSizeAndStyle
(
x
,
y
,
28
,
2
,
line
,
temchar
);
}
else
{
LabPrtLine
(
x
,
y
,
line
,
temchar
)
;
}
}
delete
[]
temchar
;
}
...
...
@@ -1128,7 +1130,7 @@ void PrintLib::_LabPrintData( const LabLinePrintArguments& arguments )
// str = std::string(pathBuf);
//}
std
::
string
PrintLib
::
_GetMathValue
(
rapidjson
::
Document
&
jsonDoc
,
const
std
::
string
&
toMatch
,
rapidjson
::
Value
&
childNode
)
std
::
string
PrintLib
::
_GetMathValue
(
rapidjson
::
Document
&
jsonDoc
,
const
std
::
string
&
toMatch
,
const
rapidjson
::
Value
&
childNode
)
{
if
(
jsonDoc
.
HasMember
(
toMatch
.
c_str
()))
//一级就可以找到
{
...
...
@@ -1142,10 +1144,10 @@ std::string PrintLib::_GetMathValue(rapidjson::Document &jsonDoc,const std::stri
int
g
=
childNode
.
Size
();
for
(
SizeType
i
=
0
;
i
<
childNode
.
Size
();
i
++
)
{
rapidjson
::
Value
&
arrayV
=
childNode
[
i
];
const
rapidjson
::
Value
&
arrayV
=
childNode
[
i
];
if
(
arrayV
.
HasMember
(
toMatch
.
c_str
()))
{
rapidjson
::
Value
&
valueData
=
arrayV
[
toMatch
.
c_str
()];
const
rapidjson
::
Value
&
valueData
=
arrayV
[
toMatch
.
c_str
()];
std
::
string
text
=
_JsonValueDivide
(
valueData
);
return
text
;
}
...
...
@@ -1159,7 +1161,7 @@ std::string PrintLib::_GetMathValue(rapidjson::Document &jsonDoc,const std::stri
std
::
string
key
=
(
itr
->
name
).
GetString
();
if
(
key
.
compare
(
toMatch
.
c_str
())
==
0
)
{
rapidjson
::
Value
&
valueData
=
childNode
[
toMatch
.
c_str
()];
const
rapidjson
::
Value
&
valueData
=
childNode
[
toMatch
.
c_str
()];
std
::
string
text
=
_JsonValueDivide
(
valueData
);
return
text
;
}
...
...
@@ -1173,7 +1175,7 @@ std::string PrintLib::_GetMathValue(rapidjson::Document &jsonDoc,const std::stri
}
std
::
string
PrintLib
::
_JsonValueDivide
(
rapidjson
::
Value
&
value
)
std
::
string
PrintLib
::
_JsonValueDivide
(
const
rapidjson
::
Value
&
value
)
{
if
(
value
.
IsDouble
())
...
...
@@ -1239,18 +1241,55 @@ bool PrintLib::_ParseJson(std::string jsonStr,rapidjson::Document &jsonDoc)
return
true
;
}
bool
PrintLib
::
_GetJsonArryNode
(
std
::
string
nodeKey
,
rapidjson
::
Document
&
jsonDoc
,
rapidjson
::
Value
&
childValue
)
void
PrintLib
::
_GetJsonArryNode
(
rapidxml
::
xml_node
<>
*
node
,
std
::
string
nodeKey
,
rapidjson
::
Document
&
jsonDoc
,
const
rapidjson
::
Value
&
childValue
)
{
std
::
string
AppendKey
=
"/"
+
nodeKey
;
char
key
[
20
]
=
""
;
strcpy
(
key
,
AppendKey
.
c_str
());
//multLine 第一层key对应的Value
if
(
jsonDoc
.
HasMember
(
nodeKey
.
c_str
()))
{
const
rapidjson
::
Value
&
testdd
=
RAPID_GETVALUE
(
jsonDoc
,
key
,
rapidjson
::
Value
(
rapidjson
::
kObjectType
));
for
(
SizeType
i
=
0
;
i
<
testdd
.
Size
();
i
++
)
{
_DealJsonNode
(
node
,
jsonDoc
,
testdd
[
i
]);
}
}
else
if
(
!
childValue
.
IsNull
())
//sub_products对应的节点
{
const
rapidjson
::
Value
&
secondLevel
=
childValue
[
nodeKey
.
c_str
()];
if
(
!
secondLevel
.
IsNull
())
{
_DealJsonNode
(
node
,
jsonDoc
,
secondLevel
);
}
}
}
void
PrintLib
::
_DealJsonNode
(
rapidxml
::
xml_node
<>
*
node
,
rapidjson
::
Document
&
jsonDoc
,
const
rapidjson
::
Value
&
jsonValue
)
{
if
(
jsonDoc
.
HasMember
(
nodeKey
.
c_str
()))
//解析sub_products 对应的二层json Value,Value是一个数组
if
(
jsonValue
.
IsArray
())
{
childValue
=
jsonDoc
[
nodeKey
.
c_str
()];
int
g
=
childValue
.
Size
();
return
false
;
int
g
=
jsonValue
.
Size
();
for
(
SizeType
i
=
0
;
i
<
jsonValue
.
Size
();
i
++
)
{
const
rapidjson
::
Value
&
SecondSub
=
jsonValue
[
i
];;
_XMLiterate
(
node
,
jsonDoc
,
SecondSub
);
}
}
//解析product 对应的处于第一层的Value,Value 是一个json对象
if
(
jsonValue
.
IsObject
())
{
_XMLiterate
(
node
,
jsonDoc
,
jsonValue
);
}
return
true
;
}
std
::
string
PrintLib
::
_GetExePath
()
{
...
...
@@ -1265,3 +1304,4 @@ std::string PrintLib::_GetExePath()
PrtLib/PrtLib/PrintLib.h
View file @
947c9b42
...
...
@@ -14,6 +14,8 @@
#include "rapidjson/writer.h"
#include "rapidjson/memorystream.h"
#define RAPID_GETVALUE rapidjson::GetValueByPointerWithDefault
struct
LinePrintArguments
{
// 字体种类
int
fontType
;
...
...
@@ -52,6 +54,10 @@ struct LabLinePrintArguments{
std
::
string
text
;
// 打印类型
std
::
string
printType
;
// 打印粗细
int
bold
;
//打印字体放大
int
large
;
};
struct
MathArguments
{
...
...
@@ -178,7 +184,7 @@ private:
* 参数:[1]jsonDoc,json document ,[2]toMatch,待匹配字符串,[3]childNode,json子串
* 返回:NULL
* */
std
::
string
_GetMathValue
(
rapidjson
::
Document
&
jsonDoc
,
const
std
::
string
&
toMatch
,
rapidjson
::
Value
&
childNode
);
std
::
string
_GetMathValue
(
rapidjson
::
Document
&
jsonDoc
,
const
std
::
string
&
toMatch
,
const
rapidjson
::
Value
&
childNode
);
/* 功能:替换Text中的占位符,将math中数据填到打印数据中
* 参数:[1]mathArguments属性表,[2]mathValue的值,[3]mathArguments.text,[4]index占位符
...
...
@@ -190,7 +196,7 @@ private:
* 参数:[1]xml模板,[2]打印内容json[3]结点数据
* 返回:NULL
* */
void
_PrintLine
(
rapidxml
::
xml_node
<>
*
node
,
rapidjson
::
Document
&
jsonDoc
,
rapidjson
::
Value
&
childNode
);
void
_PrintLine
(
rapidxml
::
xml_node
<>
*
node
,
rapidjson
::
Document
&
jsonDoc
,
const
rapidjson
::
Value
&
childNode
);
/* 功能:打印单行数据
* 参数:[1]xml模板,[2]打印内容json[3]结点数据
...
...
@@ -202,12 +208,23 @@ private:
* 参数:[1]xml模板,[2]打印内容json[3]结点数据
* 返回:NULL
* */
void
_PrintMultLine
(
rapidxml
::
xml_node
<>
*
node
,
rapidjson
::
Document
&
jsonDoc
,
rapidjson
::
Value
&
jsonValue
);
void
_PrintMultLine
(
rapidxml
::
xml_node
<>
*
node
,
rapidjson
::
Document
&
jsonDoc
);
/* 功能:打印多行数据
* 参数:[1]xml模板,[2]打印内容json DOM
* 返回:NULL
* */
void
_PrintMultLine
(
rapidxml
::
xml_node
<>
*
node
,
rapidjson
::
Document
&
jsonDoc
,
const
rapidjson
::
Value
&
childNode
);
/* 功能:打印多行数据
* 参数:[1]xml模板,[2]打印内容json DOM [3]xx key 对应的json value值
* 返回:NULL
* */
/* 功能:获取json的value值
* 参数:NULL
* 返回:json 属性值
* */
std
::
string
_JsonValueDivide
(
rapidjson
::
Value
&
value
);
std
::
string
_JsonValueDivide
(
const
rapidjson
::
Value
&
value
);
//获取嵌套的数组的节点
...
...
@@ -215,11 +232,16 @@ private:
* 参数:[1]nodeKey节点key,[2]childValue,节点value
* 返回:成功与否
* */
bool
_GetJsonArryNode
(
std
::
string
nodeKey
,
rapidjson
::
Document
&
jsonDoc
,
rapidjson
::
Value
&
childValue
);
/* 功能:解析字符串为json对象
* 参数:[1]jsonStr,待解析的字符串
* 返回:成功与否
void
_GetJsonArryNode
(
rapidxml
::
xml_node
<>
*
node
,
std
::
string
nodeKey
,
rapidjson
::
Document
&
jsonDoc
,
const
rapidjson
::
Value
&
childValue
);
/* 功能:json Document判断时候有某个节点
* 参数:[1]node XML DOM,[2]jsonDoc JSON DOM,[3]childValue 节点Value,节点位于json第一级时传空节点,第二级时传入对应的Value
* */
void
_DealJsonNode
(
rapidxml
::
xml_node
<>
*
node
,
rapidjson
::
Document
&
jsonDoc
,
const
rapidjson
::
Value
&
childValue
);
/* 功能:处理xml中multLine对应的json对象
* 参数:[1]node XML DOM,[2]jsonDoc JSON DOM,[3]节点Value
* */
bool
_ParseJson
(
std
::
string
jsonStr
,
rapidjson
::
Document
&
jsonDoc
);
/* 功能:获取exe所在目录
...
...
@@ -230,7 +252,7 @@ private:
* 参数:[1]node xml的节点,[2]jsonChild,json的节点
* 返回:NULL
* */
void
_XMLiterate
(
rapidxml
::
xml_node
<>
*
node
,
rapidjson
::
Document
&
jsonDoc
,
rapidjson
::
Value
&
jsonChild
);
void
_XMLiterate
(
rapidxml
::
xml_node
<>
*
node
,
rapidjson
::
Document
&
jsonDoc
,
const
rapidjson
::
Value
&
jsonChild
);
private
:
int
total
;
...
...
PrtLib/PrtLib/PrtSetConf.h
View file @
947c9b42
...
...
@@ -49,12 +49,16 @@ typedef struct
{
int
x
;
int
y
;
int
size
;
int
style
;
string
data
;
}
Function_Argv
;
#define INIT_FUN_ARGV(tmpx, tmpheigth, tmpdata) do { \
#define INIT_FUN_ARGV(tmpx, tmpheigth, tmp
size, tmpstyle, tmp
data) do { \
argv.x = tmpx; \
argv.y = tmpheigth; \
argv.size = tmpsize; \
argv.style = tmpstyle; \
argv.data = string(tmpdata); \
}while(0);
...
...
@@ -100,7 +104,7 @@ typedef struct
#define LABEL_FOUT_SIZE 24
#define LABEL_BPFOUT_SIZE 22
//#define LABEL_FOUT_RATIO 0.0
2
66665
//#define LABEL_FOUT_RATIO 0.0
7
66665
#define LABEL_FOUT_RATIO 0.0666665
#define LENTH_FMS 30
...
...
PrtLib/PrtLib/prtlib.cpp
View file @
947c9b42
...
...
@@ -1285,7 +1285,7 @@ int LabPrtLine(int x, int y, int line, const char *data)
Function_Argv
argv
=
{
0
};
INIT_FUN_ARGV
(
x
,
y
,
data
);
INIT_FUN_ARGV
(
x
,
y
,
24
,
0
,
data
);
g_label_print_lines
.
push_back
(
argv
);
...
...
@@ -1313,7 +1313,7 @@ int LabPrtLine(int x, int y, int line, const char *data)
Function_Argv
argv
=
{
0
};
INIT_FUN_ARGV
(
x
,
y
,
tmp
);
INIT_FUN_ARGV
(
x
,
y
,
24
,
0
,
tmp
);
g_label_print_lines
.
push_back
(
argv
);
getheigth
(
y
,
LABEL_FOUT_SIZE
,
0
);
...
...
@@ -1334,7 +1334,7 @@ int LabPrtLineWithSizeAndRatio(int x, int y, int size, double ratio, int line, c
Function_Argv
argv
=
{
0
};
INIT_FUN_ARGV
(
x
,
y
,
data
);
INIT_FUN_ARGV
(
x
,
y
,
24
,
0
,
data
);
g_label_print_lines
.
push_back
(
argv
);
...
...
@@ -1362,7 +1362,56 @@ int LabPrtLineWithSizeAndRatio(int x, int y, int size, double ratio, int line, c
Function_Argv
argv
=
{
0
};
INIT_FUN_ARGV
(
x
,
y
,
tmp
);
INIT_FUN_ARGV
(
x
,
y
,
24
,
0
,
tmp
);
g_label_print_lines
.
push_back
(
argv
);
getheigth
(
y
,
size
,
0
);
memset
(
tmp
,
0
,
512
);
}
return
1
;
}
int
LabPrtLineWithSizeAndStyle
(
int
x
,
int
y
,
int
size
,
int
style
,
int
line
,
const
char
*
data
)
{
if
(
line
==
0
)
{
if
(
g_heigth
>
y
+
1
)
y
=
g_heigth
+
0
;
if
(
y
>
g_info
.
high
*
10
-
80
)
y
=
g_info
.
high
*
10
-
80
;
Function_Argv
argv
=
{
0
};
INIT_FUN_ARGV
(
x
,
y
,
size
,
style
,
data
);
g_label_print_lines
.
push_back
(
argv
);
getheigth
(
y
,
size
,
0
);
return
1
;
}
int
index
=
0
;
char
tmp
[
512
]
=
{
0
};
int
tmpi
=
0
;
while
(
GetFout
(
x
,
&
index
,
size
,
LABEL_FOUT_RATIO
,
data
,
tmp
,
g_info
))
{
if
(
g_heigth
>
y
+
1
)
y
=
g_heigth
;
if
(
tmpi
==
0
)
{
y
+=
0
;
tmpi
=
1
;
}
if
(
y
>
g_info
.
high
*
10
-
80
)
y
=
g_info
.
high
*
10
-
80
;
Function_Argv
argv
=
{
0
};
INIT_FUN_ARGV
(
x
,
y
,
size
,
style
,
tmp
);
g_label_print_lines
.
push_back
(
argv
);
getheigth
(
y
,
size
,
0
);
...
...
@@ -1419,7 +1468,7 @@ int TscPrintClose()
LOG
()
<<
tmpdata
;
TSC_windowsfont
(
argv
.
x
,
argv
.
y
,
LABEL_FOUT_SIZE
,
0
,
2
,
0
,
tmpfont_name
,
tmpdata
);
TSC_windowsfont
(
argv
.
x
,
argv
.
y
,
argv
.
size
,
0
,
argv
.
style
,
0
,
tmpfont_name
,
tmpdata
);
++
i
;
}
...
...
PrtLib/PrtLib/prtlib.h
View file @
947c9b42
...
...
@@ -19,6 +19,7 @@ extern "C" int __declspec(dllexport)LabPrtOpen(char data[]);
//---------------------------------------------------------
extern
"C"
int
__declspec
(
dllexport
)
LabPrtLine
(
int
x
,
int
y
,
int
line
,
const
char
*
data
);
extern
"C"
int
__declspec
(
dllexport
)
LabPrtLineWithSizeAndRatio
(
int
x
,
int
y
,
int
size
,
double
ratio
,
int
line
,
const
char
*
data
);
extern
"C"
int
__declspec
(
dllexport
)
LabPrtLineWithSizeAndStyle
(
int
x
,
int
y
,
int
size
,
int
style
,
int
line
,
const
char
*
data
);
//杯贴打印完结;
extern
"C"
int
__declspec
(
dllexport
)
LabPrtClose
();
/****************************************************小票**********************************************/
...
...
PrtLib/PrtLib/test.cpp
View file @
947c9b42
...
...
@@ -208,20 +208,22 @@ int main()
//char xmlstr[] = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ticket type=\"OrderPrint\" typeCode=\"1\">\n<line printType=\"Text\" text=\"0001非码测试单\" codeType=\"1\" fontType=\"1\" fontStyle=\"1\" width=\"2\" height=\"2\" leftMargin=\"0\" AlignMode=\"1\"/>\n</ticket>";
//char xmlstr[] = "<?xml version=\"1.0\" encoding=\"utf-8\"?><ticket type = \"OrderPrint\" typeCode = \"1\"><line printType=\"Text\" text=\"%1Bulabula%2\" fontType=\"1\" fontStyle=\"1\" width=\"1\" height=\"1\" leftMargin=\"0\" AlignMode=\"0\"><math index=\"1\" content=\"order_title\" /><math index=\"2\" content=\"order_index\" /></line></ticket>";
//char conf[] = "{\"name\":\"Xprinter\",\"paperwidth\":\"56\",\"type\":3}";
char
conf
[]
=
"{
\"
name
\"
:
\"
Xprinter
\"
,
\"
high
\"
:
\"
25
\"
,
\"
labelprttype
\"
:0,
\"
type
\"
: 4,
\"
width
\"
:
\"
40
\"
}"
;
char
conf
[]
=
"{
\"
name
\"
:
\"
XP-80C
\"
,
\"
paperwidth
\"
:
\"
80
\"
,
\"
type
\"
:4}"
;
//char conf[] = "{\"name\":\"Xprinter\",\"high\":\"25\",\"labelprttype\":0,\"type\": 4,\"width\":\"40\"}";
//char order[] = "{\"order_title\":\"AAAA\",\"order_index\":\"0001\"}";
char
err
[
1024
]
=
{};
char
xmlstr
[
25600
]
=
{
0
};
char
order
[
25600
]
=
{
0
};
string
xmlfilename
=
"
D:
\\
gitcode
\\
prtlab
\\
PrtLib
\\
Debug
\\
xml.txt"
;
string
jsonfilename
=
"
D:
\\
gitcode
\\
prtlab
\\
PrtLib
\\
Debug
\\
json.txt"
;
string
xmlfilename
=
"
C:
\\
Users
\\
xiaoqing.gu
\\
Desktop
\\
xml
\\
xml.txt"
;
string
jsonfilename
=
"
C:
\\
Users
\\
xiaoqing.gu
\\
Desktop
\\
xml
\\
json.txt"
;
GetFileBuf
(
xmlstr
,
xmlfilename
);
GetFileBuf
(
order
,
jsonfilename
);
DoLabPrintWithXmls
(
conf
,
order
,
xmlstr
,
err
);
/*DoLabPrintWithXmls(conf, order, xmlstr, err);*/
DoPrintWithXmls
(
conf
,
order
,
xmlstr
,
err
);
system
(
"pause"
);
...
...
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