|
1
|
|
|
<?php |
|
2
|
|
|
|
|
3
|
|
|
namespace Doctrine\Tests\DBAL\Query; |
|
4
|
|
|
|
|
5
|
|
|
use PHPUnit\Framework\TestCase; |
|
6
|
|
|
use DOMDocument; |
|
7
|
|
|
use PhpDocxTemplate\PhpDocxTemplate; |
|
8
|
|
|
use PhpDocxTemplate\DocxDocument; |
|
9
|
|
|
use Twig\Loader\ArrayLoader; |
|
10
|
|
|
use Twig\Environment; |
|
11
|
|
|
|
|
12
|
|
|
class PhpDocxTemplateTest extends TestCase |
|
13
|
|
|
{ |
|
14
|
|
|
private const TEMPLATE1 = __DIR__ . "/templates/template1.docx"; |
|
15
|
|
|
private const TEMPLATE2 = __DIR__ . "/templates/template2.docx"; |
|
16
|
|
|
private const TEMPLATE3 = __DIR__ . "/templates/template3.docx"; |
|
17
|
|
|
private const TEMPLATE4 = __DIR__ . "/templates/template4.docx"; |
|
18
|
|
|
|
|
19
|
|
|
public function testXmlToString(): void |
|
20
|
|
|
{ |
|
21
|
|
|
$xml = new DOMDocument('1.0'); |
|
22
|
|
|
$root = $xml->createElement('book'); |
|
23
|
|
|
$root = $xml->appendChild($root); |
|
24
|
|
|
$title = $xml->createElement('title'); |
|
25
|
|
|
$title = $root->appendChild($title); |
|
26
|
|
|
$text = $xml->createTextNode('Title'); |
|
27
|
|
|
$title->appendChild($text); |
|
28
|
|
|
$reporter = new PhpDocxTemplate(self::TEMPLATE1); |
|
29
|
|
|
|
|
30
|
|
|
$this->assertEquals( |
|
31
|
|
|
$reporter->xmlToString($xml), |
|
32
|
|
|
"<?xml version=\"1.0\"?>\n<book><title>Title</title></book>\n" |
|
33
|
|
|
); |
|
34
|
|
|
$reporter->close(); |
|
35
|
|
|
} |
|
36
|
|
|
|
|
37
|
|
|
public function testGetDocx(): void |
|
38
|
|
|
{ |
|
39
|
|
|
$reporter = new PhpDocxTemplate(self::TEMPLATE1); |
|
40
|
|
|
$this->assertInstanceOf(DocxDocument::class, $reporter->getDocx()); |
|
41
|
|
|
$reporter->close(); |
|
42
|
|
|
} |
|
43
|
|
|
|
|
44
|
|
|
public function testGetXml(): void |
|
45
|
|
|
{ |
|
46
|
|
|
$reporter = new PhpDocxTemplate(self::TEMPLATE1); |
|
47
|
|
|
$this->assertEquals( |
|
48
|
|
|
$reporter->getXml(), |
|
49
|
|
|
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n" . |
|
50
|
|
|
"<w:document xmlns:wpc=\"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas\" " . |
|
51
|
|
|
"xmlns:cx=\"http://schemas.microsoft.com/office/drawing/2014/chartex\" " . |
|
52
|
|
|
"xmlns:cx1=\"http://schemas.microsoft.com/office/drawing/2015/9/8/chartex\" " . |
|
53
|
|
|
"xmlns:cx2=\"http://schemas.microsoft.com/office/drawing/2015/10/21/chartex\" " . |
|
54
|
|
|
"xmlns:cx3=\"http://schemas.microsoft.com/office/drawing/2016/5/9/chartex\" " . |
|
55
|
|
|
"xmlns:cx4=\"http://schemas.microsoft.com/office/drawing/2016/5/10/chartex\" " . |
|
56
|
|
|
"xmlns:cx5=\"http://schemas.microsoft.com/office/drawing/2016/5/11/chartex\" " . |
|
57
|
|
|
"xmlns:cx6=\"http://schemas.microsoft.com/office/drawing/2016/5/12/chartex\" " . |
|
58
|
|
|
"xmlns:cx7=\"http://schemas.microsoft.com/office/drawing/2016/5/13/chartex\" " . |
|
59
|
|
|
"xmlns:cx8=\"http://schemas.microsoft.com/office/drawing/2016/5/14/chartex\" " . |
|
60
|
|
|
"xmlns:mc=\"http://schemas.openxmlformats.org/markup-compatibility/2006\" " . |
|
61
|
|
|
"xmlns:aink=\"http://schemas.microsoft.com/office/drawing/2016/ink\" " . |
|
62
|
|
|
"xmlns:am3d=\"http://schemas.microsoft.com/office/drawing/2017/model3d\" " . |
|
63
|
|
|
"xmlns:o=\"urn:schemas-microsoft-com:office:office\" " . |
|
64
|
|
|
"xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\" " . |
|
65
|
|
|
"xmlns:m=\"http://schemas.openxmlformats.org/officeDocument/2006/math\" " . |
|
66
|
|
|
"xmlns:v=\"urn:schemas-microsoft-com:vml\" " . |
|
67
|
|
|
"xmlns:wp14=\"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing\" " . |
|
68
|
|
|
"xmlns:wp=\"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing\" " . |
|
69
|
|
|
"xmlns:w10=\"urn:schemas-microsoft-com:office:word\" " . |
|
70
|
|
|
"xmlns:w=\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\" " . |
|
71
|
|
|
"xmlns:w14=\"http://schemas.microsoft.com/office/word/2010/wordml\" " . |
|
72
|
|
|
"xmlns:w15=\"http://schemas.microsoft.com/office/word/2012/wordml\" " . |
|
73
|
|
|
"xmlns:w16cid=\"http://schemas.microsoft.com/office/word/2016/wordml/cid\" " . |
|
74
|
|
|
"xmlns:w16se=\"http://schemas.microsoft.com/office/word/2015/wordml/symex\" " . |
|
75
|
|
|
"xmlns:wpg=\"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup\" " . |
|
76
|
|
|
"xmlns:wpi=\"http://schemas.microsoft.com/office/word/2010/wordprocessingInk\" " . |
|
77
|
|
|
"xmlns:wne=\"http://schemas.microsoft.com/office/word/2006/wordml\" " . |
|
78
|
|
|
"xmlns:wps=\"http://schemas.microsoft.com/office/word/2010/wordprocessingShape\" " . |
|
79
|
|
|
"mc:Ignorable=\"w14 w15 w16se w16cid wp14\"><w:body><w:p w14:paraId=\"504F2588\" " . |
|
80
|
|
|
"w14:textId=\"54DF26C8\" w:rsidR=\"0090657C\" w:rsidRPr=\"00FA3F61\" " . |
|
81
|
|
|
"w:rsidRDefault=\"00FA3F61\" w:rsidP=\"00C13DD6\"><w:pPr><w:rPr><w:lang w:val=\"en-US\"/>" . |
|
82
|
|
|
"</w:rPr></w:pPr><w:r><w:rPr><w:lang w:val=\"en-US\"/></w:rPr><w:t>Hello {{ object }}!</w:t>" . |
|
83
|
|
|
"</w:r><w:bookmarkStart w:id=\"0\" w:name=\"_GoBack\"/><w:bookmarkEnd w:id=\"0\"/></w:p>" . |
|
84
|
|
|
"<w:sectPr w:rsidR=\"0090657C\" w:rsidRPr=\"00FA3F61\"><w:pgSz w:w=\"11906\" w:h=\"16838\"/>" . |
|
85
|
|
|
"<w:pgMar w:top=\"1134\" w:right=\"850\" w:bottom=\"1134\" w:left=\"1701\" w:header=\"708\" " . |
|
86
|
|
|
"w:footer=\"708\" w:gutter=\"0\"/><w:cols w:space=\"708\"/><w:docGrid w:linePitch=\"360\"/>" . |
|
87
|
|
|
"</w:sectPr></w:body></w:document>\n" |
|
88
|
|
|
); |
|
89
|
|
|
$reporter->close(); |
|
90
|
|
|
} |
|
91
|
|
|
|
|
92
|
|
|
public function testPatchXml(): void |
|
93
|
|
|
{ |
|
94
|
|
|
$reporter = new PhpDocxTemplate(self::TEMPLATE1); |
|
95
|
|
|
//test stripTags |
|
96
|
|
|
$xml = "{<tag>%Hello</w:t><w:t>\nworld%<tag>}\n{<tag>{Hi</w:t><w:t>\nthere}<tag>}\n"; |
|
97
|
|
|
$this->assertEquals( |
|
98
|
|
|
$reporter->patchXml($xml), |
|
99
|
|
|
"{%Hello\nworld%}\n{{Hi\nthere}}\n" |
|
100
|
|
|
); |
|
101
|
|
|
|
|
102
|
|
|
//test colspan |
|
103
|
|
|
$xml = "<w:tc xeLLm[t6;cT&!Z_#KI8cniins[)UX>TAnAaqg_a}sePvK.OO#Q=B-]cBDFM8UL]8m@i" . |
|
104
|
|
|
"Ct{% colspan val%}TkuSd<w:r meg+PYSJWO}~k<w:t></w:t></w:r>" . |
|
105
|
|
|
"<w:gridSpan88MJ@1bX/><w:tcPrL4><w:gridSpan@1bY/>?Nl`z:^kY@FXeJ@P{8WhCt0__/,8woI2." . |
|
106
|
|
|
"8#[r_Cqig!5Qt{8gl5ls<9Ci|^QN2IK#L[cB9@:XclVQQIxe</w:tc>"; |
|
107
|
|
|
$this->assertEquals( |
|
108
|
|
|
$reporter->patchXml($xml), |
|
109
|
|
|
'<w:tc xeLLm[t6;cT&!Z_#KI8cniins[)UX>TAnAaqg_a}sePvK.OO#Q=B-]cBDFM8UL]8m@iCtTkuSd<w:tcPrL4>' . |
|
110
|
|
|
'<w:gridSpan w:val="{{val}}"/><w:gridSpan@1bY/>?Nl`z:^kY@FXeJ@P{8WhCt0__/,8woI2.8#[r_Cqig!5Qt' . |
|
111
|
|
|
'{8gl5ls<9Ci|^QN2IK#L[cB9@:XclVQQIxe</w:tc>' |
|
112
|
|
|
); |
|
113
|
|
|
|
|
114
|
|
|
//test cellbg |
|
115
|
|
|
$xml = "<w:tc xeLLm[t6;cT&!Z_#KI8cniins[)UX>TAnAaqg_a}sePvK.OO#Q=B-]cBDFM8UL]8m@i" . |
|
116
|
|
|
"Ct{% cellbg val%}TkuSd<w:r meg+PYSJWO}~k<w:t></w:t></w:r>" . |
|
117
|
|
|
"<w:shd88MJ@1bX/><w:tcPrL4><w:shd@1bY/>?Nl`z:^kY@FXeJ@P{8WhCt0__/,8woI2." . |
|
118
|
|
|
"8#[r_Cqig!5Qt{8gl5ls<9Ci|^QN2IK#L[cB9@:XclVQQIxe</w:tc>"; |
|
119
|
|
|
$this->assertEquals( |
|
120
|
|
|
$reporter->patchXml($xml), |
|
121
|
|
|
'<w:tc xeLLm[t6;cT&!Z_#KI8cniins[)UX>TAnAaqg_a}sePvK.OO#Q=B-]cBDFM8UL]8m@iCtTkuSd<w:tcPrL4>' . |
|
122
|
|
|
'<w:shd w:val="clear" w:color="auto" w:fill="{{val}}"/><w:shd@1bY/>?Nl`z:^kY@FXeJ@P{8WhCt0__/,' . |
|
123
|
|
|
'8woI2.8#[r_Cqig!5Qt{8gl5ls<9Ci|^QN2IK#L[cB9@:XclVQQIxe</w:tc>' |
|
124
|
|
|
); |
|
125
|
|
|
|
|
126
|
|
|
//test avoid {{r and {%r tags |
|
127
|
|
|
$xml = "<w:t>[x&\P^XIk]sdD((KK{%r .S-ce4F!b,l8Qo`(>NA;%}"; |
|
128
|
|
|
$this->assertEquals( |
|
129
|
|
|
$reporter->patchXml($xml), |
|
130
|
|
|
'<w:t xml:space="preserve">[x&\P^XIk]sdD((KK</w:t></w:r><w:r><w:t xml:space="preserve">' . |
|
131
|
|
|
'{%r .S-ce4F!b,l8Qo`(>NA;%}</w:t></w:r><w:r><w:t xml:space="preserve">' |
|
132
|
|
|
); |
|
133
|
|
|
$xml = "{%r _Rom{X=aC3/s#W#~o<#d:tH^>DTAz;s<}O0RJ#V!wW:]%kR@wzLf*\iu^zAGrr!3]v<SUc|B)o>kA.:*1?,0%}"; |
|
134
|
|
|
$this->assertEquals( |
|
135
|
|
|
$reporter->patchXml($xml), |
|
136
|
|
|
'</w:t></w:r><w:r><w:t xml:space="preserve">{%r _Rom{X=aC3/s#W#~o<#d:tH^>DTAz;s<}O0RJ#V!wW:]%kR' . |
|
137
|
|
|
'@wzLf*\iu^zAGrr!3]v<SUc|B)o>kA.:*1?,0%}</w:t></w:r><w:r><w:t xml:space="preserve">' |
|
138
|
|
|
); |
|
139
|
|
|
|
|
140
|
|
|
// test |
|
141
|
|
|
$xml = "<w:trs>RaYI}@{{trs :k!HJO Z36#T1$3U>6F.=y1_y5w:I7uAWs=_n-(ix*HXPd7){>{V|yPkDIa=" . |
|
142
|
|
|
"cLlQwozlcjFn<_(`&32 PZ1e5_Pqbc@zFR!r0(%}S'orf,78A<S nR=E</w:trs>"; |
|
143
|
|
|
$this->assertEquals( |
|
144
|
|
|
$reporter->patchXml($xml), |
|
145
|
|
|
'{{ :k!HJO Z36#T1$3U>6F.=y1_y5w:I7uAWs=_n-(ix*HXPd7){>{V|yPkDIa=cLlQwozlcjFn<_(`&32 PZ1e5_Pqbc@zFR!r0(%}' |
|
146
|
|
|
); |
|
147
|
|
|
|
|
148
|
|
|
// test vMerge |
|
149
|
|
|
$xml = "<w:tc></w:tcPr>t/H-Q.X)jC_sI6(J7w-;QI&JpDG}:>f02Zls<8(7&SEyc>" . |
|
150
|
|
|
"`@P/<Ero^KEbL`EX^<w:t>{% vm %}</w:t></w:tc>"; |
|
151
|
|
|
$this->assertEquals( |
|
152
|
|
|
$reporter->patchXml($xml), |
|
153
|
|
|
'<w:tc><w:vMerge w:val="{% if loop.first %}restart{% else %}continue' . |
|
154
|
|
|
'{% endif %}"/></w:tcPr>t/H-Q.X)jC_sI6(J7w-;QI&JpDG}:>f02Zls<8(7&SEyc>`' . |
|
155
|
|
|
'@P/<Ero^KEbL`EX^<w:t>{% if loop.first %}{% endif %}</w:t></w:tc>' |
|
156
|
|
|
); |
|
157
|
|
|
|
|
158
|
|
|
// test hMerge |
|
159
|
|
|
$xml = "<w:tc></w:tcPr>t/H-Q.X)jC_sI6(J7w-;QI&JpDG}:>f02Zls<8(7&SEyc>" . |
|
160
|
|
|
"`@P/<Ero^KEbL`EX^<w:t>{% hm %}</w:t></w:tc>"; |
|
161
|
|
|
$this->assertEquals( |
|
162
|
|
|
$reporter->patchXml($xml), |
|
163
|
|
|
'{% if loop.first %}<w:tc><w:gridSpan w:val="{{ loop.length }}"/></w:tcPr>t/H-Q.X)' . |
|
164
|
|
|
'jC_sI6(J7w-;QI&JpDG}:>f02Zls<8(7&SEyc>`@P/<Ero^KEbL`EX^<w:t></w:t></w:tc>{% endif %}' |
|
165
|
|
|
); |
|
166
|
|
|
|
|
167
|
|
|
// test cleanTags |
|
168
|
|
|
$xml = '{%‘<>“”‘’%}'; |
|
169
|
|
|
$this->assertEquals( |
|
170
|
|
|
$reporter->patchXml($xml), |
|
171
|
|
|
"{%'<>\"\"''%}" |
|
172
|
|
|
); |
|
173
|
|
|
$reporter->close(); |
|
174
|
|
|
} |
|
175
|
|
|
|
|
176
|
|
|
public function testRenderXml(): void |
|
177
|
|
|
{ |
|
178
|
|
|
$reporter = new PhpDocxTemplate(self::TEMPLATE1); |
|
179
|
|
|
$this->assertEquals( |
|
180
|
|
|
$reporter->buildXml(["object" => "world"]), |
|
181
|
|
|
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n" . |
|
182
|
|
|
"<w:document xmlns:wpc=\"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas\" " . |
|
183
|
|
|
"xmlns:cx=\"http://schemas.microsoft.com/office/drawing/2014/chartex\" " . |
|
184
|
|
|
"xmlns:cx1=\"http://schemas.microsoft.com/office/drawing/2015/9/8/chartex\" " . |
|
185
|
|
|
"xmlns:cx2=\"http://schemas.microsoft.com/office/drawing/2015/10/21/chartex\" " . |
|
186
|
|
|
"xmlns:cx3=\"http://schemas.microsoft.com/office/drawing/2016/5/9/chartex\" " . |
|
187
|
|
|
"xmlns:cx4=\"http://schemas.microsoft.com/office/drawing/2016/5/10/chartex\" " . |
|
188
|
|
|
"xmlns:cx5=\"http://schemas.microsoft.com/office/drawing/2016/5/11/chartex\" " . |
|
189
|
|
|
"xmlns:cx6=\"http://schemas.microsoft.com/office/drawing/2016/5/12/chartex\" " . |
|
190
|
|
|
"xmlns:cx7=\"http://schemas.microsoft.com/office/drawing/2016/5/13/chartex\" " . |
|
191
|
|
|
"xmlns:cx8=\"http://schemas.microsoft.com/office/drawing/2016/5/14/chartex\" " . |
|
192
|
|
|
"xmlns:mc=\"http://schemas.openxmlformats.org/markup-compatibility/2006\" " . |
|
193
|
|
|
"xmlns:aink=\"http://schemas.microsoft.com/office/drawing/2016/ink\" " . |
|
194
|
|
|
"xmlns:am3d=\"http://schemas.microsoft.com/office/drawing/2017/model3d\" " . |
|
195
|
|
|
"xmlns:o=\"urn:schemas-microsoft-com:office:office\" " . |
|
196
|
|
|
"xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\" " . |
|
197
|
|
|
"xmlns:m=\"http://schemas.openxmlformats.org/officeDocument/2006/math\" " . |
|
198
|
|
|
"xmlns:v=\"urn:schemas-microsoft-com:vml\" " . |
|
199
|
|
|
"xmlns:wp14=\"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing\" " . |
|
200
|
|
|
"xmlns:wp=\"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing\" " . |
|
201
|
|
|
"xmlns:w10=\"urn:schemas-microsoft-com:office:word\" " . |
|
202
|
|
|
"xmlns:w=\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\" " . |
|
203
|
|
|
"xmlns:w14=\"http://schemas.microsoft.com/office/word/2010/wordml\" " . |
|
204
|
|
|
"xmlns:w15=\"http://schemas.microsoft.com/office/word/2012/wordml\" " . |
|
205
|
|
|
"xmlns:w16cid=\"http://schemas.microsoft.com/office/word/2016/wordml/cid\" " . |
|
206
|
|
|
"xmlns:w16se=\"http://schemas.microsoft.com/office/word/2015/wordml/symex\" " . |
|
207
|
|
|
"xmlns:wpg=\"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup\" " . |
|
208
|
|
|
"xmlns:wpi=\"http://schemas.microsoft.com/office/word/2010/wordprocessingInk\" " . |
|
209
|
|
|
"xmlns:wne=\"http://schemas.microsoft.com/office/word/2006/wordml\" " . |
|
210
|
|
|
"xmlns:wps=\"http://schemas.microsoft.com/office/word/2010/wordprocessingShape\" " . |
|
211
|
|
|
"mc:Ignorable=\"w14 w15 w16se w16cid wp14\"><w:body><w:p w14:paraId=\"504F2588\" " . |
|
212
|
|
|
"w14:textId=\"54DF26C8\" w:rsidR=\"0090657C\" w:rsidRPr=\"00FA3F61\" " . |
|
213
|
|
|
"w:rsidRDefault=\"00FA3F61\" w:rsidP=\"00C13DD6\"><w:pPr><w:rPr><w:lang w:val=\"en-US\"/>" . |
|
214
|
|
|
"</w:rPr></w:pPr><w:r><w:rPr><w:lang w:val=\"en-US\"/></w:rPr><w:t>Hello world!</w:t>" . |
|
215
|
|
|
"</w:r><w:bookmarkStart w:id=\"0\" w:name=\"_GoBack\"/><w:bookmarkEnd w:id=\"0\"/></w:p>" . |
|
216
|
|
|
"<w:sectPr w:rsidR=\"0090657C\" w:rsidRPr=\"00FA3F61\"><w:pgSz w:w=\"11906\" w:h=\"16838\"/>" . |
|
217
|
|
|
"<w:pgMar w:top=\"1134\" w:right=\"850\" w:bottom=\"1134\" w:left=\"1701\" w:header=\"708\" " . |
|
218
|
|
|
"w:footer=\"708\" w:gutter=\"0\"/><w:cols w:space=\"708\"/><w:docGrid w:linePitch=\"360\"/>" . |
|
219
|
|
|
"</w:sectPr></w:body></w:document>\n" |
|
220
|
|
|
); |
|
221
|
|
|
$reporter->close(); |
|
222
|
|
|
} |
|
223
|
|
|
|
|
224
|
|
|
public function testRender(): void |
|
225
|
|
|
{ |
|
226
|
|
|
$reporter = new PhpDocxTemplate(self::TEMPLATE2); |
|
227
|
|
|
$reporter->render(["one" => "1", "two" => "2", "three" => "3", "four" => "4"]); |
|
228
|
|
|
$this->assertEquals( |
|
229
|
|
|
$reporter->getXml(), |
|
230
|
|
|
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n" . |
|
231
|
|
|
"<w:document xmlns:wpc=\"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas\" xmlns:c" . |
|
232
|
|
|
"x=\"http://schemas.microsoft.com/office/drawing/2014/chartex\" xmlns:cx1=\"http://schemas.microsoft." . |
|
233
|
|
|
"com/office/drawing/2015/9/8/chartex\" xmlns:cx2=\"http://schemas.microsoft.com/office/drawing/2015/1" . |
|
234
|
|
|
"0/21/chartex\" xmlns:cx3=\"http://schemas.microsoft.com/office/drawing/2016/5/9/chartex\" xmlns:cx4=" . |
|
235
|
|
|
"\"http://schemas.microsoft.com/office/drawing/2016/5/10/chartex\" xmlns:cx5=\"http://schemas.microso" . |
|
236
|
|
|
"ft.com/office/drawing/2016/5/11/chartex\" xmlns:cx6=\"http://schemas.microsoft.com/office/drawing/20" . |
|
237
|
|
|
"16/5/12/chartex\" xmlns:cx7=\"http://schemas.microsoft.com/office/drawing/2016/5/13/chartex\" xmlns:" . |
|
238
|
|
|
"cx8=\"http://schemas.microsoft.com/office/drawing/2016/5/14/chartex\" xmlns:mc=\"http://schemas.open" . |
|
239
|
|
|
"xmlformats.org/markup-compatibility/2006\" xmlns:aink=\"http://schemas.microsoft.com/office/drawing/" . |
|
240
|
|
|
"2016/ink\" xmlns:am3d=\"http://schemas.microsoft.com/office/drawing/2017/model3d\" xmlns:o=\"urn:sch" . |
|
241
|
|
|
"emas-microsoft-com:office:office\" xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/r" . |
|
242
|
|
|
"elationships\" xmlns:m=\"http://schemas.openxmlformats.org/officeDocument/2006/math\" xmlns:v=\"urn:" . |
|
243
|
|
|
"schemas-microsoft-com:vml\" xmlns:wp14=\"http://schemas.microsoft.com/office/word/2010/wordprocessin" . |
|
244
|
|
|
"gDrawing\" xmlns:wp=\"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing\" xmlns" . |
|
245
|
|
|
":w10=\"urn:schemas-microsoft-com:office:word\" xmlns:w=\"http://schemas.openxmlformats.org/wordproce" . |
|
246
|
|
|
"ssingml/2006/main\" xmlns:w14=\"http://schemas.microsoft.com/office/word/2010/wordml\" xmlns:w15=\"h" . |
|
247
|
|
|
"ttp://schemas.microsoft.com/office/word/2012/wordml\" xmlns:w16cid=\"http://schemas.microsoft.com/of" . |
|
248
|
|
|
"fice/word/2016/wordml/cid\" xmlns:w16se=\"http://schemas.microsoft.com/office/word/2015/wordml/symex" . |
|
249
|
|
|
"\" xmlns:wpg=\"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup\" xmlns:wpi=\"http:" . |
|
250
|
|
|
"//schemas.microsoft.com/office/word/2010/wordprocessingInk\" xmlns:wne=\"http://schemas.microsoft.co" . |
|
251
|
|
|
"m/office/word/2006/wordml\" xmlns:wps=\"http://schemas.microsoft.com/office/word/2010/wordprocessing" . |
|
252
|
|
|
"Shape\" mc:Ignorable=\"w14 w15 w16se w16cid wp14\"><w:body><w:tbl><w:tblPr><w:tblStyle w:val=\"a3\"/" . |
|
253
|
|
|
"><w:tblW w:w=\"0\" w:type=\"auto\"/><w:tblLook w:val=\"04A0\" w:firstRow=\"1\" w:lastRow=\"0\" w:fir" . |
|
254
|
|
|
"stColumn=\"1\" w:lastColumn=\"0\" w:noHBand=\"0\" w:noVBand=\"1\"/></w:tblPr><w:tblGrid><w:gridCol w" . |
|
255
|
|
|
":w=\"3115\"/><w:gridCol w:w=\"3115\"/><w:gridCol w:w=\"3115\"/></w:tblGrid><w:tr w:rsidR=\"00031864" . |
|
256
|
|
|
"\" w14:paraId=\"73B274FD\" w14:textId=\"77777777\" w:rsidTr=\"00135B64\"><w:tc><w:tcPr><w:tcW w:w=\"3" . |
|
257
|
|
|
"115\" w:type=\"dxa\"/></w:tcPr><w:p w14:paraId=\"29117FB3\" w14:textId=\"713E58B3\" w:rsidR=\"000318" . |
|
258
|
|
|
"64\" w:rsidRPr=\"0033062B\" w:rsidRDefault=\"00031864\" w:rsidP=\"0033062B\"><w:pPr><w:rPr><w:lang w" . |
|
259
|
|
|
":val=\"en-US\"/></w:rPr></w:pPr><w:r><w:rPr><w:lang w:val=\"en-US\"/></w:rPr><w:t>1</w:t></w:r></w:p" . |
|
260
|
|
|
"></w:tc><w:tc><w:tcPr><w:tcW w:w=\"6230\" w:type=\"dxa\"/><w:gridSpan w:val=\"2\"/></w:tcPr><w:p w14" . |
|
261
|
|
|
":paraId=\"4620CF03\" w14:textId=\"7FD6FF29\" w:rsidR=\"00031864\" w:rsidRPr=\"00B6314C\" w:rsidRDefa" . |
|
262
|
|
|
"ult=\"00B6314C\" w:rsidP=\"0033062B\"><w:pPr><w:rPr><w:lang w:val=\"en-US\"/></w:rPr></w:pPr><w:r><w" . |
|
263
|
|
|
":rPr><w:lang w:val=\"en-US\"/></w:rPr><w:t>1</w:t></w:r></w:p></w:tc></w:tr><w:tr w:rsidR=\"00031864" . |
|
264
|
|
|
"\" w14:paraId=\"638CAE21\" w14:textId=\"77777777\" w:rsidTr=\"0033062B\"><w:tc><w:tcPr><w:tcW w:w=\"" . |
|
265
|
|
|
"3115\" w:type=\"dxa\"/><w:vMerge w:val=\"restart\"/></w:tcPr><w:p w14:paraId=\"69D3958C\" w14:textId" . |
|
266
|
|
|
"=\"77777777\" w:rsidR=\"00031864\" w:rsidRPr=\"0033062B\" w:rsidRDefault=\"00031864\" w:rsidP=\"0033" . |
|
267
|
|
|
"062B\"><w:pPr><w:rPr><w:lang w:val=\"en-US\"/></w:rPr></w:pPr><w:r><w:rPr><w:lang w:val=\"en-US\"/><" . |
|
268
|
|
|
"/w:rPr><w:t>2</w:t></w:r></w:p><w:p w14:paraId=\"203EF204\" w14:textId=\"751D091A\" w:rsidR=\"000318" . |
|
269
|
|
|
"64\" w:rsidRPr=\"0033062B\" w:rsidRDefault=\"00031864\" w:rsidP=\"0033062B\"><w:pPr><w:rPr><w:lang w" . |
|
270
|
|
|
":val=\"en-US\"/></w:rPr></w:pPr><w:r><w:rPr><w:lang w:val=\"en-US\"/></w:rPr><w:t>3</w:t></w:r></w:p" . |
|
271
|
|
|
"></w:tc><w:tc><w:tcPr><w:tcW w:w=\"3115\" w:type=\"dxa\"/></w:tcPr><w:p w14:paraId=\"29D750B5\" w14:" . |
|
272
|
|
|
"textId=\"52111D71\" w:rsidR=\"00031864\" w:rsidRPr=\"00B6314C\" w:rsidRDefault=\"00B6314C\" w:rsidP=" . |
|
273
|
|
|
"\"0033062B\"><w:pPr><w:rPr><w:lang w:val=\"en-US\"/></w:rPr></w:pPr><w:r><w:rPr><w:lang w:val=\"en-U" . |
|
274
|
|
|
"S\"/></w:rPr><w:t>2</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW w:w=\"3115\" w:type=\"dxa\"/></w:tc" . |
|
275
|
|
|
"Pr><w:p w14:paraId=\"443FEDA5\" w14:textId=\"77777777\" w:rsidR=\"00031864\" w:rsidRDefault=\"000318" . |
|
276
|
|
|
"64\" w:rsidP=\"0033062B\"/></w:tc></w:tr><w:tr w:rsidR=\"00031864\" w14:paraId=\"3400FAC6\" w14:text" . |
|
277
|
|
|
"Id=\"77777777\" w:rsidTr=\"0033062B\"><w:tc><w:tcPr><w:tcW w:w=\"3115\" w:type=\"dxa\"/><w:vMerge/><" . |
|
278
|
|
|
"/w:tcPr><w:p w14:paraId=\"27010401\" w14:textId=\"299C3CC2\" w:rsidR=\"00031864\" w:rsidRPr=\"003306" . |
|
279
|
|
|
"2B\" w:rsidRDefault=\"00031864\" w:rsidP=\"0033062B\"><w:pPr><w:rPr><w:lang w:val=\"en-US\"/></w:rPr" . |
|
280
|
|
|
"></w:pPr></w:p></w:tc><w:tc><w:tcPr><w:tcW w:w=\"3115\" w:type=\"dxa\"/></w:tcPr><w:p w14:paraId=\"6" . |
|
281
|
|
|
"D034FEF\" w14:textId=\"6465FA34\" w:rsidR=\"00031864\" w:rsidRPr=\"00B6314C\" w:rsidRDefault=\"00B63" . |
|
282
|
|
|
"14C\" w:rsidP=\"0033062B\"><w:pPr><w:rPr><w:lang w:val=\"en-US\"/></w:rPr></w:pPr><w:r><w:rPr><w:lan" . |
|
283
|
|
|
"g w:val=\"en-US\"/></w:rPr><w:t>3</w:t></w:r></w:p></w:tc><w:tc><w:tcPr><w:tcW w:w=\"3115\" w:type=" . |
|
284
|
|
|
"\"dxa\"/></w:tcPr><w:p w14:paraId=\"331E7F28\" w14:textId=\"77777777\" w:rsidR=\"00031864\" w:rsidRDe" . |
|
285
|
|
|
"fault=\"00031864\" w:rsidP=\"0033062B\"/></w:tc></w:tr><w:tr w:rsidR=\"0033062B\" w14:paraId=\"489E0" . |
|
286
|
|
|
"54E\" w14:textId=\"77777777\" w:rsidTr=\"0033062B\"><w:tc><w:tcPr><w:tcW w:w=\"3115\" w:type=\"dxa\"" . |
|
287
|
|
|
"/></w:tcPr><w:p w14:paraId=\"24A13E38\" w14:textId=\"18E3B4BC\" w:rsidR=\"0033062B\" w:rsidRPr=\"003" . |
|
288
|
|
|
"3062B\" w:rsidRDefault=\"0033062B\" w:rsidP=\"0033062B\"><w:pPr><w:rPr><w:lang w:val=\"en-US\"/></w:" . |
|
289
|
|
|
"rPr></w:pPr><w:r><w:rPr><w:lang w:val=\"en-US\"/></w:rPr><w:t>4</w:t></w:r></w:p></w:tc><w:tc><w:tcP" . |
|
290
|
|
|
"r><w:tcW w:w=\"3115\" w:type=\"dxa\"/></w:tcPr><w:p w14:paraId=\"58DCBE56\" w14:textId=\"5D680B0D\" " . |
|
291
|
|
|
"w:rsidR=\"0033062B\" w:rsidRPr=\"00B6314C\" w:rsidRDefault=\"00B6314C\" w:rsidP=\"0033062B\"><w:pPr>" . |
|
292
|
|
|
"<w:rPr><w:lang w:val=\"en-US\"/></w:rPr></w:pPr><w:r><w:rPr><w:lang w:val=\"en-US\"/></w:rPr><w:t>4<" . |
|
293
|
|
|
"/w:t></w:r><w:bookmarkStart w:id=\"0\" w:name=\"_GoBack\"/><w:bookmarkEnd w:id=\"0\"/></w:p></w:tc><" . |
|
294
|
|
|
"w:tc><w:tcPr><w:tcW w:w=\"3115\" w:type=\"dxa\"/></w:tcPr><w:p w14:paraId=\"277EDAD6\" w14:textId=\"" . |
|
295
|
|
|
"77777777\" w:rsidR=\"0033062B\" w:rsidRDefault=\"0033062B\" w:rsidP=\"0033062B\"/></w:tc></w:tr></w:" . |
|
296
|
|
|
"tbl><w:p w14:paraId=\"504F2588\" w14:textId=\"658244D8\" w:rsidR=\"0090657C\" w:rsidRPr=\"0033062B\"" . |
|
297
|
|
|
" w:rsidRDefault=\"0090657C\" w:rsidP=\"0033062B\"/><w:sectPr w:rsidR=\"0090657C\" w:rsidRPr=\"003306" . |
|
298
|
|
|
"2B\"><w:pgSz w:w=\"11906\" w:h=\"16838\"/><w:pgMar w:top=\"1134\" w:right=\"850\" w:bottom=\"1134\" " . |
|
299
|
|
|
"w:left=\"1701\" w:header=\"708\" w:footer=\"708\" w:gutter=\"0\"/><w:cols w:space=\"708\"/><w:docGri" . |
|
300
|
|
|
"d w:linePitch=\"360\"/></w:sectPr></w:body></w:document>\n" |
|
301
|
|
|
); |
|
302
|
|
|
$reporter->save("./tmp/test.docx"); |
|
303
|
|
|
} |
|
304
|
|
|
|
|
305
|
|
|
public function testCyrillic(): void |
|
306
|
|
|
{ |
|
307
|
|
|
$reporter = new PhpDocxTemplate(self::TEMPLATE3); |
|
308
|
|
|
$reporter->render(["один" => "значение"]); |
|
309
|
|
|
$this->assertEquals( |
|
310
|
|
|
$reporter->getXml(), |
|
311
|
|
|
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n" . |
|
312
|
|
|
"<w:document xmlns:wpc=\"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas\" xmlns:c" . |
|
313
|
|
|
"x=\"http://schemas.microsoft.com/office/drawing/2014/chartex\" xmlns:cx1=\"http://schemas.microsoft." . |
|
314
|
|
|
"com/office/drawing/2015/9/8/chartex\" xmlns:cx2=\"http://schemas.microsoft.com/office/drawing/2015/1" . |
|
315
|
|
|
"0/21/chartex\" xmlns:cx3=\"http://schemas.microsoft.com/office/drawing/2016/5/9/chartex\" xmlns:cx4=" . |
|
316
|
|
|
"\"http://schemas.microsoft.com/office/drawing/2016/5/10/chartex\" xmlns:cx5=\"http://schemas.microso" . |
|
317
|
|
|
"ft.com/office/drawing/2016/5/11/chartex\" xmlns:cx6=\"http://schemas.microsoft.com/office/drawing/20" . |
|
318
|
|
|
"16/5/12/chartex\" xmlns:cx7=\"http://schemas.microsoft.com/office/drawing/2016/5/13/chartex\" xmlns:" . |
|
319
|
|
|
"cx8=\"http://schemas.microsoft.com/office/drawing/2016/5/14/chartex\" xmlns:mc=\"http://schemas.open" . |
|
320
|
|
|
"xmlformats.org/markup-compatibility/2006\" xmlns:aink=\"http://schemas.microsoft.com/office/drawing/" . |
|
321
|
|
|
"2016/ink\" xmlns:am3d=\"http://schemas.microsoft.com/office/drawing/2017/model3d\" xmlns:o=\"urn:sch" . |
|
322
|
|
|
"emas-microsoft-com:office:office\" xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/r" . |
|
323
|
|
|
"elationships\" xmlns:m=\"http://schemas.openxmlformats.org/officeDocument/2006/math\" xmlns:v=\"urn:" . |
|
324
|
|
|
"schemas-microsoft-com:vml\" xmlns:wp14=\"http://schemas.microsoft.com/office/word/2010/wordprocessin" . |
|
325
|
|
|
"gDrawing\" xmlns:wp=\"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing\" xmlns" . |
|
326
|
|
|
":w10=\"urn:schemas-microsoft-com:office:word\" xmlns:w=\"http://schemas.openxmlformats.org/wordproce" . |
|
327
|
|
|
"ssingml/2006/main\" xmlns:w14=\"http://schemas.microsoft.com/office/word/2010/wordml\" xmlns:w15=\"h" . |
|
328
|
|
|
"ttp://schemas.microsoft.com/office/word/2012/wordml\" xmlns:w16cid=\"http://schemas.microsoft.com/of" . |
|
329
|
|
|
"fice/word/2016/wordml/cid\" xmlns:w16se=\"http://schemas.microsoft.com/office/word/2015/wordml/symex" . |
|
330
|
|
|
"\" xmlns:wpg=\"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup\" xmlns:wpi=\"http:" . |
|
331
|
|
|
"//schemas.microsoft.com/office/word/2010/wordprocessingInk\" xmlns:wne=\"http://schemas.microsoft.co" . |
|
332
|
|
|
"m/office/word/2006/wordml\" xmlns:wps=\"http://schemas.microsoft.com/office/word/2010/wordprocessing" . |
|
333
|
|
|
"Shape\" mc:Ignorable=\"w14 w15 w16se w16cid wp14\"><w:body><w:p w14:paraId=\"504F2588\" w14:textId=" . |
|
334
|
|
|
"\"0B366F38\" w:rsidR=\"0090657C\" w:rsidRPr=\"00BC38E6\" w:rsidRDefault=\"00BC38E6\" w:rsidP=\"003306" . |
|
335
|
|
|
"2B\"><w:pPr><w:rPr><w:lang w:val=\"en-US\"/></w:rPr></w:pPr><w:r><w:rPr><w:lang w:val=\"en-US\"/></w" . |
|
336
|
|
|
":rPr><w:t xml:space=\"preserve\">значение</w:t></w:r><w:bookmarkStart w:id=\"0\" w:name=\"_GoBack\"/>" . |
|
337
|
|
|
"<w:bookmarkEnd w:id=\"0\"/></w:p><w:sectPr w:rsidR=\"0090657C\" w:rsidRPr=\"00BC38E6\"><w:pgSz w:w=\"" . |
|
338
|
|
|
"11906\" w:h=\"16838\"/><w:pgMar w:top=\"1134\" w:right=\"850\" w:bottom=\"1134\" w:left=\"1701\" w:he" . |
|
339
|
|
|
"ader=\"708\" w:footer=\"708\" w:gutter=\"0\"/><w:cols w:space=\"708\"/><w:docGrid w:linePitch=\"360\"/><" . |
|
340
|
|
|
"/w:sectPr></w:body></w:document>\n" |
|
341
|
|
|
); |
|
342
|
|
|
} |
|
343
|
|
|
|
|
344
|
|
|
public function testForLoop(): void |
|
345
|
|
|
{ |
|
346
|
|
|
$reporter = new PhpDocxTemplate(self::TEMPLATE4); |
|
347
|
|
|
$reporter->render(["сотрудники" => [ |
|
348
|
|
|
[ |
|
349
|
|
|
"фамилия" => "Иванов", |
|
350
|
|
|
"имя" => "Иван", |
|
351
|
|
|
"отчество" => "Иванович", |
|
352
|
|
|
"дети" => [ |
|
353
|
|
|
[ |
|
354
|
|
|
"фамилия" => "Иванова", |
|
355
|
|
|
"имя" => "Алена", |
|
356
|
|
|
"отчество" => "Ивановна", |
|
357
|
|
|
"возраст" => 25 |
|
358
|
|
|
], |
|
359
|
|
|
[ |
|
360
|
|
|
"фамилия" => "Иванов", |
|
361
|
|
|
"имя" => "Михаил", |
|
362
|
|
|
"отчество" => "Иванович", |
|
363
|
|
|
"возраст" => 6 |
|
364
|
|
|
] |
|
365
|
|
|
], |
|
366
|
|
|
"возраст" => 50 |
|
367
|
|
|
], |
|
368
|
|
|
[ |
|
369
|
|
|
"фамилия" => "Петров", |
|
370
|
|
|
"имя" => "Петр", |
|
371
|
|
|
"отчество" => "Петрович", |
|
372
|
|
|
"возраст" => 30 |
|
373
|
|
|
] |
|
374
|
|
|
]]); |
|
375
|
|
|
$this->assertEquals( |
|
376
|
|
|
$reporter->getXml(), |
|
377
|
|
|
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n" . |
|
378
|
|
|
"<w:document xmlns:wpc=\"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas\" xmlns:c" . |
|
379
|
|
|
"x=\"http://schemas.microsoft.com/office/drawing/2014/chartex\" xmlns:cx1=\"http://schemas.microsoft." . |
|
380
|
|
|
"com/office/drawing/2015/9/8/chartex\" xmlns:cx2=\"http://schemas.microsoft.com/office/drawing/2015/1" . |
|
381
|
|
|
"0/21/chartex\" xmlns:cx3=\"http://schemas.microsoft.com/office/drawing/2016/5/9/chartex\" xmlns:cx4=" . |
|
382
|
|
|
"\"http://schemas.microsoft.com/office/drawing/2016/5/10/chartex\" xmlns:cx5=\"http://schemas.microso" . |
|
383
|
|
|
"ft.com/office/drawing/2016/5/11/chartex\" xmlns:cx6=\"http://schemas.microsoft.com/office/drawing/20" . |
|
384
|
|
|
"16/5/12/chartex\" xmlns:cx7=\"http://schemas.microsoft.com/office/drawing/2016/5/13/chartex\" xmlns:" . |
|
385
|
|
|
"cx8=\"http://schemas.microsoft.com/office/drawing/2016/5/14/chartex\" xmlns:mc=\"http://schemas.open" . |
|
386
|
|
|
"xmlformats.org/markup-compatibility/2006\" xmlns:aink=\"http://schemas.microsoft.com/office/drawing/" . |
|
387
|
|
|
"2016/ink\" xmlns:am3d=\"http://schemas.microsoft.com/office/drawing/2017/model3d\" xmlns:o=\"urn:sch" . |
|
388
|
|
|
"emas-microsoft-com:office:office\" xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/r" . |
|
389
|
|
|
"elationships\" xmlns:m=\"http://schemas.openxmlformats.org/officeDocument/2006/math\" xmlns:v=\"urn:" . |
|
390
|
|
|
"schemas-microsoft-com:vml\" xmlns:wp14=\"http://schemas.microsoft.com/office/word/2010/wordprocessin" . |
|
391
|
|
|
"gDrawing\" xmlns:wp=\"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing\" xmlns" . |
|
392
|
|
|
":w10=\"urn:schemas-microsoft-com:office:word\" xmlns:w=\"http://schemas.openxmlformats.org/wordproce" . |
|
393
|
|
|
"ssingml/2006/main\" xmlns:w14=\"http://schemas.microsoft.com/office/word/2010/wordml\" xmlns:w15=\"h" . |
|
394
|
|
|
"ttp://schemas.microsoft.com/office/word/2012/wordml\" xmlns:w16cid=\"http://schemas.microsoft.com/of" . |
|
395
|
|
|
"fice/word/2016/wordml/cid\" xmlns:w16se=\"http://schemas.microsoft.com/office/word/2015/wordml/symex" . |
|
396
|
|
|
"\" xmlns:wpg=\"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup\" xmlns:wpi=\"http:" . |
|
397
|
|
|
"//schemas.microsoft.com/office/word/2010/wordprocessingInk\" xmlns:wne=\"http://schemas.microsoft.co" . |
|
398
|
|
|
"m/office/word/2006/wordml\" xmlns:wps=\"http://schemas.microsoft.com/office/word/2010/wordprocessing" . |
|
399
|
|
|
"Shape\" mc:Ignorable=\"w14 w15 w16se w16cid wp14\"><w:body><w:p w14:paraId=\"45D5C362\" w14:textId=" . |
|
400
|
|
|
"\"79C82D83\" w:rsidR=\"00AF4B5B\" w:rsidRDefault=\"005D75A1\" w:rsidP=\"006B0D50\"><w:pPr><w:pStyle w" . |
|
401
|
|
|
":val=\"a4\"/><w:numPr><w:ilvl w:val=\"0\"/><w:numId w:val=\"2\"/></w:numPr></w:pPr><w:proofErr w:typ" . |
|
402
|
|
|
"e=\"gramStart\"/><w:r w:rsidRPr=\"005D75A1\"><w:t xml:space=\"preserve\">Иванов Иван Иванович</w:t><" . |
|
403
|
|
|
"/w:r><w:r w:rsidR=\"00FE09C8\" w:rsidRPr=\"00FE09C8\"><w:t xml:space=\"preserve\">, </w:t></w:r><w:r" . |
|
404
|
|
|
" w:rsidR=\"00FE09C8\"><w:t>возраст</w:t></w:r><w:r w:rsidR=\"00FE09C8\" w:rsidRPr=\"00FE09C8\"><w:t>" . |
|
405
|
|
|
":</w:t></w:r><w:r w:rsidR=\"005E422E\"><w:t xml:space=\"preserve\"> </w:t></w:r><w:r w:rsidR=\"005E4" . |
|
406
|
|
|
"22E\" w:rsidRPr=\"00DE2B94\"><w:t>50</w:t></w:r></w:p><w:p w14:paraId=\"78D1FA3D\" w14:textId=\"55EF" . |
|
407
|
|
|
"7A47\" w:rsidR=\"00AF4B5B\" w:rsidRDefault=\"00DE2B94\" w:rsidP=\"0031223E\"><w:pPr><w:pStyle w:val=" . |
|
408
|
|
|
"\"a4\"/></w:pPr><w:r><w:t xml:space=\"preserve\">- </w:t></w:r><w:proofErr w:type=\"gramStart\"/><w:" . |
|
409
|
|
|
"r w:rsidRPr=\"00DE2B94\"><w:t xml:space=\"preserve\">Иванова Алена Ивановна</w:t></w:r><w:r w:rsidR=" . |
|
410
|
|
|
"\"00126257\" w:rsidRPr=\"00126257\"><w:t xml:space=\"preserve\"> </w:t></w:r></w:p><w:p w14:paraId=" . |
|
411
|
|
|
"\"78D1FA3D\" w14:textId=\"55EF7A47\" w:rsidR=\"00AF4B5B\" w:rsidRDefault=\"00DE2B94\" w:rsidP=\"00312" . |
|
412
|
|
|
"23E\"><w:pPr><w:pStyle w:val=\"a4\"/></w:pPr><w:r><w:t xml:space=\"preserve\">- </w:t></w:r><w:proofErr " . |
|
413
|
|
|
"w:type=\"gramStart\"/><w:r w:rsidRPr=\"00DE2B94\"><w:t xml:space=\"preserve\">Иванов Михаил Иванович" . |
|
414
|
|
|
"</w:t></w:r><w:r w:rsidR=\"00126257\" w:rsidRPr=\"00126257\"><w:t xml:space=\"preserve\"> </w:t></w:" . |
|
415
|
|
|
"r></w:p><w:p w14:paraId=\"45D5C362\" w14:textId=\"79C82D83\" w:rsidR=\"00AF4B5B\" w:rsidRDefault=\"0" . |
|
416
|
|
|
"05D75A1\" w:rsidP=\"006B0D50\"><w:pPr><w:pStyle w:val=\"a4\"/><w:numPr><w:ilvl w:val=\"0\"/><w:numId" . |
|
417
|
|
|
" w:val=\"2\"/></w:numPr></w:pPr><w:proofErr w:type=\"gramStart\"/><w:r w:rsidRPr=\"005D75A1\"><w:t x" . |
|
418
|
|
|
"ml:space=\"preserve\">Петров Петр Петрович</w:t></w:r><w:r w:rsidR=\"00FE09C8\" w:rsidRPr=\"00FE09C8" . |
|
419
|
|
|
"\"><w:t xml:space=\"preserve\">, </w:t></w:r><w:r w:rsidR=\"00FE09C8\"><w:t>возраст</w:t></w:r><w:r " . |
|
420
|
|
|
"w:rsidR=\"00FE09C8\" w:rsidRPr=\"00FE09C8\"><w:t>:</w:t></w:r><w:r w:rsidR=\"005E422E\"><w:t xml:spa" . |
|
421
|
|
|
"ce=\"preserve\"> </w:t></w:r><w:r w:rsidR=\"005E422E\" w:rsidRPr=\"00DE2B94\"><w:t>30</w:t></w:r></w" . |
|
422
|
|
|
":p><w:p w14:paraId=\"4B66446E\" w14:textId=\"2D5C0B86\" w:rsidR=\"0024376E\" w:rsidRDefault=\"002437" . |
|
423
|
|
|
"6E\" w:rsidP=\"00AF4B5B\"/><w:p w14:paraId=\"3F32EC2C\" w14:textId=\"77777777\" w:rsidR=\"0024376E\"" . |
|
424
|
|
|
" w:rsidRPr=\"008D21C0\" w:rsidRDefault=\"0024376E\" w:rsidP=\"00AF4B5B\"/><w:sectPr w:rsidR=\"002437" . |
|
425
|
|
|
"6E\" w:rsidRPr=\"008D21C0\"><w:pgSz w:w=\"11906\" w:h=\"16838\"/><w:pgMar w:top=\"1134\" w:right=\"8" . |
|
426
|
|
|
"50\" w:bottom=\"1134\" w:left=\"1701\" w:header=\"708\" w:footer=\"708\" w:gutter=\"0\"/><w:cols w:s" . |
|
427
|
|
|
"pace=\"708\"/><w:docGrid w:linePitch=\"360\"/></w:sectPr></w:body></w:document>\n" |
|
428
|
|
|
); |
|
429
|
|
|
//$reporter->save("./tmp/report4.docx"); |
|
430
|
|
|
} |
|
431
|
|
|
} |
|
432
|
|
|
|