1
|
|
|
<?php |
2
|
|
|
/** |
3
|
|
|
* Created by PhpStorm. |
4
|
|
|
* User: yuzhakov |
5
|
|
|
* Date: 08.05.18 |
6
|
|
|
* Time: 12:00. |
7
|
|
|
*/ |
8
|
|
|
|
9
|
|
|
namespace PhpOffice\PhpSpreadsheetTests\Functional; |
10
|
|
|
|
11
|
|
|
use PhpOffice\PhpSpreadsheet\Cell\Hyperlink; |
12
|
|
|
use PhpOffice\PhpSpreadsheet\Spreadsheet; |
13
|
|
|
use PhpOffice\PhpSpreadsheet\Worksheet\MemoryDrawing; |
14
|
|
|
|
15
|
|
|
class DrawingImageHyperlinkTest extends AbstractFunctional |
16
|
|
|
{ |
17
|
|
|
/** |
18
|
|
|
* @throws \PhpOffice\PhpSpreadsheet\Exception |
19
|
|
|
*/ |
20
|
|
|
public function testDrawingImageHyperlinkTest() |
21
|
|
|
{ |
22
|
|
|
$baseUrl = 'https://github.com/PHPOffice/PhpSpreadsheet'; |
23
|
|
|
$spreadsheet = new Spreadsheet(); |
24
|
|
|
|
25
|
|
|
$aSheet = $spreadsheet->getActiveSheet(); |
26
|
|
|
|
27
|
|
|
$gdImage = @imagecreatetruecolor(120, 20); |
28
|
|
|
$textColor = imagecolorallocate($gdImage, 255, 255, 255); |
29
|
|
|
imagestring($gdImage, 1, 5, 5, 'Created with PhpSpreadsheet', $textColor); |
30
|
|
|
|
31
|
|
|
$drawing = new MemoryDrawing(); |
32
|
|
|
$drawing->setName('In-Memory image 1'); |
33
|
|
|
$drawing->setDescription('In-Memory image 1'); |
34
|
|
|
$drawing->setCoordinates('A1'); |
35
|
|
|
$drawing->setImageResource($gdImage); |
36
|
|
|
$drawing->setRenderingFunction( |
37
|
|
|
MemoryDrawing::RENDERING_JPEG |
38
|
|
|
); |
39
|
|
|
$drawing->setMimeType(MemoryDrawing::MIMETYPE_DEFAULT); |
40
|
|
|
$drawing->setHeight(36); |
41
|
|
|
$hyperLink = new Hyperlink($baseUrl, 'test image'); |
42
|
|
|
$drawing->setHyperlink($hyperLink); |
43
|
|
|
$drawing->setWorksheet($aSheet); |
44
|
|
|
|
45
|
|
|
$reloadedSpreadsheet = $this->writeAndReload($spreadsheet, 'Xlsx'); |
46
|
|
|
|
47
|
|
|
foreach ($reloadedSpreadsheet->getActiveSheet()->getDrawingCollection() as $pDrawing) { |
48
|
|
|
self::assertEquals('https://github.com/PHPOffice/PhpSpreadsheet', $pDrawing->getHyperlink()->getUrl(), 'functional test drawing hyperlink'); |
49
|
|
|
} |
50
|
|
|
} |
51
|
|
|
} |
52
|
|
|
|