| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- <?php
- require_once '../../vendor/autoload.php';
- require_once '../config.php';
- require_once '../public/function.php';
- // Creating the new document...
- /*
- $phpWord = new \PhpOffice\PhpWord\PhpWord();
- $phpWord->addTitleStyle(1, array('size' => 16), array('numStyle' => 'hNum', 'numLevel' => 0));
- $phpWord->addTitleStyle(2, array('size' => 14), array('numStyle' => 'hNum', 'numLevel' => 1));
- $phpWord->addTitleStyle(3, array('size' => 12), array('numStyle' => 'hNum', 'numLevel' => 2));
- # Note: any element you append to a document must reside inside of a Section.
- # Adding an empty Section to the document...
- $section = $phpWord->addSection();
- $section->addTitle('Article Title', 1);
- # Adding Text element to the Section having font styled by default...
- $section->addText(
- '"Learn from yesterday, live for today, hope for tomorrow. '
- . 'The important thing is not to stop questioning." '
- . '(Albert Einstein)'
- );
- */
- /*
- * Note: it's possible to customize font style of the Text element you add in three ways:
- * - inline;
- * - using named font style (new font style object will be implicitly created);
- * - using explicitly created font style object.
- */
- /*
- # Adding Text element with font customized inline...
- $section->addText(
- '"Great achievement is usually born of great sacrifice, '
- . 'and is never the result of selfishness." '
- . '(Napoleon Hill)',
- array('name' => 'Tahoma', 'size' => 10)
- );
- $textrun = $section->addTextRun();
- $textrun->addText('Lead text.');
- $footnote = $textrun->addFootnote();
- $footnote->addText('Footnote text can have ');
- $footnote->addLink('http://test.com', 'links');
- $footnote->addText('.');
- $footnote->addTextBreak();
- $footnote->addText('And text break.');
- $textrun->addText('Trailing text.');
- # Adding Text element with font customized using named font style...
- $fontStyleName = 'oneUserDefinedStyle';
- $phpWord->addFontStyle(
- $fontStyleName,
- array('name' => 'Tahoma', 'size' => 10, 'color' => '1B2232', 'bold' => true)
- );
- $section->addText(
- '"The greatest accomplishment is not in never falling, '
- . 'but in rising again after you fall." '
- . '(Vince Lombardi)',
- $fontStyleName
- );
- # Adding Text element with font customized using explicitly created font style object...
- $fontStyle = new \PhpOffice\PhpWord\Style\Font();
- $fontStyle->setBold(true);
- $fontStyle->setName('Tahoma');
- $fontStyle->setSize(13);
- $myTextElement = $section->addText('"Believe you can and you\'re halfway there." (Theodor Roosevelt)');
- $myTextElement->setFontStyle($fontStyle);
- */
- $html = "<html><body>";
- $html .= $_POST["html"];
- $html .= "</body></html>";
- #load from html
- $uuid=UUID::v4();
- $source = _DIR_TMP_EXPORT.'/'.$uuid.'.html';
- file_put_contents($source,$html);
- //echo date('H:i:s'), " Reading contents from `{$source}`", EOL;
- $phpWord = \PhpOffice\PhpWord\IOFactory::load($source, 'HTML');
- // Saving the document as OOXML file...
- $objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2007');
- $tmpFileName = _DIR_TMP_EXPORT.'/'.$uuid.'.docx';
- $objWriter->save($tmpFileName);
- // Read contents
- //4.从浏览器下载
- ob_clean();
- ob_start();
- $fp = fopen($tmpFileName,"r");
- $file_size = filesize($tmpFileName);
- Header("Content-type:application/octet-stream");
- Header("Accept-Ranges:bytes");
- Header("Accept-Length:".$file_size);
- Header("Content-Disposition:attchment; filename=".'wikipali.docx');
- $buffer = 1024;
- $file_count = 0;
- while (!feof($fp) && $file_count < $file_size){
- $file_con = fread($fp,$buffer);
- $file_count += $buffer;
- echo $file_con;
- }
- fclose($fp);
- ob_end_flush();
- //unlink($tmpFileName);
- //unlink($source);
|