PHPã«ã³ãã¡ã¬ã³ã¹ 2021 1é±éåã¤ãã³ã ã 帰ã£ã¦ããPHPåå¼·ä¼@æ±äº¬ ã®çºè¡¨è³æã§ãã https://phpcon.connpass.com/event/224128/
æ¦è¦å°ãã¿ã§ãã å æ¥ãé 忏ã PDF ã§ã¦ã¼ã¶ã¼ããã¤ã§ãçºè¡ã§ãã管çç»é¢ã®æ©è½ããªãªã¼ã¹ããã®ã§ããã æ½çã«å ¥ãåã¯ãã£ã±ãã©ããã£ã¦å®è£ ããããããåãããªãã£ãã®ã§ãåå¿ãå ¼ãã¦ã¡ã¢ã æçµçã«ã¯ Interface ã使ããã¨ã§ã詳細ãªPDFåºåã®å®è£ ã«ã¢ããªã±ã¼ã·ã§ã³å±¤ãä¾åããªãããã«çµãã§ã¿ãã®ã§ãããã¾ã§æ¸ãçãã¦ããã¾ãã TL;DRPHP ã§æä¾ãããããã±ã¼ã¸ãä½¿ãæ¹æ³ãæãã·ã³ãã«ãã¡æ©è½ã®ããã« PDF é¢é£ã®ã©ã¤ãã©ãªãå ¥ãããããã§ã¯ãªãã®ã§ãAWS Lambda ã§å®è£ ã§ããæ¹æ³ãæ¢ããhttps://github.com/zeplin/zeplin-html-to-pdf ã使ã£ã¦ Lambda 颿°ã使ããPHP ãã HTML ãæãã¦åä½ãããå®è£ æ¹æ³ãæé«ã®ææ®µã ã¨èªä¿¡ãæã¦ãªãã¨ããããInterface ã使ã£ã¦ççµåã«å®è£ ããã®ã大
æ´æ°æ¥: 2020å¹´8æ14æ¥ ãã®ãã¼ã¸ã®ç®ç ããã°ã©ãã¼ã¯ãã¯ã©ã¤ã¢ã³ãããæä¾ãããPDFãã¡ã¤ã«ã§ããã®è¦æ±ãå®ç¾ããããã¨ããã¨ããPDFã®ã©ããªã¨ãããè¦ã¦ããã®ã§ããããããã®ãã¼ã¸ã§ã¯ãã¡ãã£ã¨çããè¦ç¹ã§PDFãã¡ã¤ã«ãè§£ãæããã¦ããã¾ãã èªåã§ããã°ã©ã ãæ¸ãã¦PDFãã¡ã¤ã«ããããã¹ããã¼ã¿ãåãåºãããã¨ãã人ãããã²ãä¸èªãã ããã ã¯ããã« PDFãã¡ã¤ã«ãã¯ãªãã¯ããã¨ãããããç´ã«å°å·ãããã®ããã«ãã©ããªãã·ã³ã§ãåããããªè¦ãç®ã§æç« ãç»åããã£ã¹ãã¬ã¤ã«è¡¨ç¤ºããã¾ãã ãã®åç´ãªäºå®ã¯ãæ¥å¸¸çã«PDFãã¡ã¤ã«ãå©ç¨ãã¦ããã¨å½ããåã«æããããããããã¾ãããããããããããèããã¨é©ãã¹ããã¨ã§ãã ãã£ãããã©ã®ãããªä»çµã¿ãããã°ããéå»ããç¾å¨ã«è³ããã¾ãã¾ãªç¨®é¡ã®ã³ã³ãã¥ã¼ã¿ã¼ã§è¦ãç®ãå¤ããã«åä¸ã®ç´é¢ãåç¾ãããã¨ããç®çãéæã§ã
PHPã§PDFåã®å®è£ ãã¿ã¼ã³ HTMLããPDFã«ãã ãã³ãã¬ã¼ãã¨ãªãPDFã«æåãåºåãã ä»åã¯2ã®è©±ã å®è£ TCPDFã¨FPDIãçµã¿åããã¦å®è£ composer require tecnickcom/tcpdf composer require setasign/fpdi ããã§ä½¿ããããã«ãªã£ãã 以ä¸ã¯å®éã«ä½¿ç¨ããè¨å®å 容ã public function generatePdf() { /* * PDFã®åæè¨å® */ $pdf = new Fpdi('L', 'mm', 'A4'); // ãã³ãã¬ã¼ãPDFã®è¨å® $template_path = public_path('assets/pdfs/template.pdf'); $pdf->setSourceFile($template_path); $pdf->setPrintHeader(false); $
ãã¦ãã¦ãè¿å¹´ã¯ã¦ã§ãéçºã®ä¸çãæçãã¦ãã¦ããã®æã¯å®è¡ããã«ã¯æéæããããéãããã¨ã§ããã¾ã ã¨ç°¡åã«å®è¡ã§ããããã«ãªã£ã¦ãã¾ããã ãã¡ãããPHPã ãã§ã¯å®è¡ãé£ãã使¥ãããããããã¾ããããµã¼ãã¼å ã®ä»ã®ããã°ã©ã ã¨é£æºãããã¨ã§ä½ã®åé¡ããªãéçºã§ãããããã¦ã§ãã ãã§ããã¹ã¯ãããã®ãããªåããå®ç¾ãããã¨ãã§ããããã¾ãã ããã§ãä»åã¯ãããªä¸ããPDFãããã¹ãï¼ç»åãã¡ã¤ã«ã«å¤æããæ¹æ³ããå±ããããã¨æãã¾ãã ãã²å¦ç¿ã«å½¹ç«ã¦ã¦ãã ãããã â» éçºç°å¢ï¼Laravel 5.7 + Ubuntu 18.04 ï¼é常ã®PHPã§ãå®è¡ã§ãã¾ãï¼ ç¨æãããã® ããã¹ããå«ã¾ããPDFã ããææã¡ããªãå ´åã¯ä»¥ä¸ã«ãµã³ãã«ãç¨æãã¾ããã®ã§ããã¡ããããã¦ã³ãã¼ããã¦ãã ãããï¼ä¸èº«ã¯ãå¤ç®æ¼±ç³ã®ãå¾è¼©ã¯ç«ã§ãããåé é¨åã§ãï¼ å¾è¼©ã¯ç«ã§ããï¼åé é¨åï¼PD
ããã«ã¡ã¯ãã¨ãªã«ã§ãã Webã¢ããªã±ã¼ã·ã§ã³ãä½ã£ã¦ããã¨ãã¾ãã«PDFã®åºåæ©è½ãç¨æãããã¨ããããã¨æãã¾ãããããªæãããLaravelããªãç°¡åã§ãã ä»åã¯ããã®å®è£ æ¹æ³ã解説ãã¾ãã ããããã㨠Laravelã使ã£ã¦ã注æå 容ã®ãã¼ã¿ãªã©ããPDFã§åºåã§ããããã«ããã åæ Laravel 5.x ã使ç¨ã å ãã¦ããã¡ãã®ããã±ã¼ã¸ï¼barryvdh/laravel-dompdfï¼ã使ãã¾ãã æºå composerã使ã£ã¦ãããã±ã¼ã¸ãã¤ã³ã¹ãã¼ã«ãã¾ãã $ composer require barryvdh/laravel-dompdf config/app.php ã以ä¸ã®ããã«ç·¨éãã¾ãã providersã«ä¸è¨ã追è¨ãã¾ãã Barryvdh\DomPDF\ServiceProvider::class, aliasesã«ä¸è¨ã追è¨ãã¾ãã 'PDF
以ä¸ã®è¨äºã§ãç´¹ä»ãããå¼ãµã¼ã¯ã«ã®æè¡æ¸å ¸4ã®æ°åã GitHub ã§ public repo ã¨ãã¦å ¬éãã¾ããã syucream.hatenablog.jp ãªãã¸ããªã¯ãã¡ãã«ãªãã¾ãã github.com ãã«ãæ¸ã¿ pdf ã¯ç¡ããã¾ããã®ä»é å¸ããå稿ã«ããå«ã¾ããªãã³ã³ãã³ããªã©ããããããã¾ãããããäºæ¿ãã ããã æè¡æ¸å ¸4æ¯ãè¿ã ããæ©ä¼ãªã®ã§æ¯ãè¿ããã¤ãã¤ãæ¸ãã¾ã å·çç°å¢ã«ã¤ã㦠Re:VIEW ã§å稿ãè¨è¿° CircleCI ã§ textlint å®è¡ã¨ pdf èªåãã«ãããããã«ãã å ¥ç¨¿ç´åã«ãªã£ã¦ pdf ãã³ã¬ã¸ã£ãã¤æåºãã®ãã¸åå¼ï¼ãªã®ã§ base ã® Docker Image ã« vvakame/review ã使ããã¦ããã ãã¾ãã ç´°ããªã¬ãã¥ã¼ã¯ GitHub ã® pullreq or Issue ãã¼ã¹ã§å®æ½ é²æç®¡çã«ã¤ãã¦
ã¯ããã« Google Apps Scriptã¯ããªãè²ã ãªãã¨ãã§ããæå®ããã·ã¼ããPDFåãããããã¡ããå¯è½ã§ããGoogleã¹ãã¬ããã·ã¼ãã§è«æ±æ¸ãç´åæ¸ãªã©ã®ãã³ãã¬ã¼ãã使ãã¦ããã¦ããã¼ã¿ãä»ã®ã·ã¼ãããåå¾ãã¦åãè¾¼ãã§PDFåãªã©ããã¨ä¾¿å©ã§ããããã§ã¯ãæå®ããã¹ãã¬ããã·ã¼ãã®PDFåãè¡ãã¹ã¯ãªãããã¡ã¢ãã¾ãã ãªãã以éã®ã³ã¼ãã¯ä»¥ä¸ã®ãµã¤ãæ§ã®ãã®ãåèã«ããã¦é ãã¦ã¾ãã Convert and Email Google Spreadsheets as PDF Files | CTRLQ ã§ããããã«ãªãã㨠以ä¸ã®ãããªã¹ãã¬ããã·ã¼ããããã¨ãã¾ãããªãããã®ã¹ãã¬ããã·ã¼ãã¯ä¾ã¨ãã¦ä½æãããã®ã§è«æ±æ¸ã§ãããã¨ã«æå³ã¯ãªããªãã§ãOKã§ããä¸èº«ã¯å ¨é¨æåã§ä½æãã¦ããã¦ãããã§ãããä½ãããã®ã¹ã¯ãªããã§èªåã§ãã¼ã¿ãæ¿å ¥ãã¦ä½æãã¦ãããOK
PDFã®ãã¡ã¤ã«æ§é ãçè§£ããã¨ãããã¹ãã¨ãã£ã¿ã§ãç´æ¥PDFãã¡ã¤ã«ãä½ããã¨ãã§ããããã«ãªãã¾ãããã®ã¨ã³ããªã¼ã§ã¯PDFãã¡ã¤ã«ã®åºç¤è¦ç´ ã説æããç°¡åãªPDFãã¡ã¤ã«ãä¾ã«ãã¦ãã¡ã¤ã«æ§é ã説æãã¾ããæ´ã«ãããã¹ããæ¸¡ãã¨PDFãã¡ã¤ã«ãåãã¦ãããç°¡åãªããã°ã©ã ããPDFãèªã¿è¾¼ãã§ç°¡åãªè§£æãããããã°ã©ã ãæ¸ãã¦ã¿ã¾ãã ç®æ¬¡ ç®æ¬¡ ã¾ããã ãªãã¸ã§ã¯ã 鿥åç § ãã¡ã¤ã«æ§é Hello, world! ããã ãã¬ã¼ã© ç¸äºåç §ãã¼ãã« æ¬ä½ PDFãçæããããã°ã©ã æ¥æ¬èªã®æ±ãæ¹ æ¥æ¬èªãå«ãPDFãçæããããã°ã©ã ã°ã©ãã£ãã¯ã¹ PDFãèªãããã°ã©ã ãã¨ãã ã¾ããã 1990年代ååãã¢ããã·ã¹ãã ãºã¯ãã©ã®ãã©ãããã©ã¼ã ãããã¤ã¹ã§ãææ¸ã確å®ã«è¡¨ç¤ºã»å ±æã§ãããã¨ãç®çã¨ãã¦PDFãã¡ã¤ã«ãã©ã¼ããããéçºãã¾ããã PDFã®è¡¨ç¤ºã½ãã
ã¯ããã« PHP ã«ã¯ mPDF ã®ããã« HTMLâPDF ãªã©ã¤ãã©ãªãããã¤ãããã¾ãããããã§ã¯ Thinreports for PHP ã使ã£ãå¥ã®ã¢ããã¼ãã§ PDF ã使ããæ¹æ³ãç´¹ä»ãã¾ãã Thinreports for PHP ãã£ããè¨ã㨠å½ç£ OSSï¼The MIT Licenseï¼ 0.8.0-alpha1ï¼2015å¹´7ææç¹ææ°ï¼ Pure PHP PHP 5.6 以é対å¿ï¼0.8.0-alpha2 ãã 5.3 以é対å¿äºå®ï¼ Thinreports ã® PHP ç å°ç¨ Generator è¿½è¨ at 2015.11.23: æ¬æ¥ãæåã®ã¡ã¸ã£ã¼ãªãªã¼ã¹ 0.8.0 ããªãªã¼ã¹ãã¾ããã https://github.com/thinreports-php/thinreports-php/releases/tag/0.8.0 è¿½è¨ at 2015.8.1
ï¼ï¼ææ°æ å ±ã¯ä»¥ä¸ã®è¨äºãåç §ãã¦ä¸ããï¼ï¼ PHPã§PDFã使ããã¨ãã¯phpwkhtmltopdfã§æ¦ã [2016年度ç] HTMLãPDFã«å¤æããã¢ããã¼ãã®ã¤ãã¿ ã»ã¤ã³ã©ã¤ã³ã®CSSããåãä»ããªã ã»ããããCSS2.0ç³»ã®ããããã£ããåãä»ããªã ã»ã»ã¬ã¯ã¿ã§è¦ç´ ãçµãè¾¼ããªã mPDFã主ã«åã®ãã¨ã ã wkhtmltopdfã¨snappyã§å¹¸ãã«ãªãã wkhtmltopdf http://wkhtmltopdf.org/ Webkit html to pdf ã®ç¥ã ååãããåããããã«HTMLãWebkitã§è§£éãã¦PDFã«å¤æããGoogle謹製ã®ãã¼ã«ã§ãã ãã¡ãããHTML5 ã CSS3.0 ãé£ãªãè§£éãã¾ãã æé«æããã knplabs/knp-snappy https://packagist.org/packages/knplabs/knp
追è¨: ã©ã¤ãã©ãªã¨ãã¦åãåºãã¾ãã pdf.jsã使ã£ã¦ã¹ã©ã¤ã表示ããã©ã¤ãã©ãªãæ¸ãã | Web Scratch ã©ããããã® https://azu.github.io/slide/DOMQuery/sourcemap.pdf ã¨ããPDFãã¡ã¤ã«ãèªã¿è¾¼ãã§è¡¨ç¤ºãã¦ãã¾ãã æ®éã®HTMLã¹ã©ã¤ãã®ããã«ã¦ã§ããã¼ã¸ã¨ãã¦å ¬éãããã¨ãåºæ¥ã¾ãã ä¾) https://azu.github.io//slide/DOMQuery/ ä½ã£ãçµç·¯ mozilla/pdf.jsã使ãã°PDFããã©ã¦ã¶ä¸ã§è¡¨ç¤ºåºæ¥ãã®ã§ãããã使ã£ããã¬ã¼ã³ãã¼ã·ã§ã³ãã¼ã«ã¨ãããã¨é¢ç½ãããªæ°ãããã®ãå§ã¾ãã§ãã ããããã®ã欲ããçç±ã¨ãã¦ã¯ä»¥ä¸ã®ãããªæãã§ããã Deckset ã¿ããã«PDFããé å¸ç¨ã®ãã©ã¼ãããããªããã®ããã Decksetèªä½ã¯ä¾¿å©ãªã®ã§ä½¿ããã ã§ãSlideSh
Chromeï¼ãNotable PDFã ã¯Chromeãã©ã¦ã¶ãã PDF ãã¡ã¤ã«ãç·¨éã§ããChromeã®æ¡å¼µæ©è½ã§ããããã¯ãªãã©ã¤ã³ã§ãæ©è½ãããããã¯ãã¼ã ããã¯ã«ã¨ã£ã¦ãç´ æ´ãããæ©è½ã§ãã䏿¦ãã®æ¡å¼µæ©è½ãã¤ã³ã¹ãã¼ã«ããã¢ã«ã¦ã³ãã使ããã¨ãPDF ã夿´ããã³ã¡ã³ããå ãããã¨ãã§ãã¾ãããã®æ¡å¼µç㯠PDF ãéããããä¿åãããããããã« Dropbox åã³ Box ã¢ã«ã¦ã³ãã¨çµ±åãã¦ãã¾ããã»ã¨ãã©ã®ãªãã·ã§ã³ã¯ç¡æã§ããGoogle Driveã«PDFãç´æ¥ä¿åããããPDFã«é»åç½²åãããå ´åã«ã¯ã1ã¶æ4.99ãã«ãããææã¢ã«ã¦ã³ããå¿ è¦ã¨ãªãã¾ãã æè»½ã«ä½¿ããæ©è½ãªã®ã§ãPDFããã使ã人ã«ã¯éå®ããã§ãããã Notable PDFï½Chrome Web Store via AddictiveTips Dave Greenbaumï¼åæï¼è¨³ï¼C
PDFã®ãã¡ã¤ã«ãµã¤ãºã縮å°ããæ¹æ³ãç´¹ä»ãã¾ãã æ³¨ï¼æ°å¤ã¯ã¤ã¡ã¼ã¸ã§ã ï¼ï¼åé¡ç¹ Illustratorãªã©ã§ä½æãããã¼ã¿ãPDFå½¢å¼ã§ä¿åããã¨ãæ°åMBã®ãµã¤ãºã«ãªããã¨ãããã¾ãã ã¨ãããã¨ã§ãPDFã®ãã¡ã¤ã«ãµã¤ãºã縮å°ããæ¹æ³ãããã¤ãç´¹ä»ãã¾ãã Illustratorã§ä½æãããã¡ã¤ã«ã§ããã°Illustratorèªä½ã§æé©åã§ããããã§ãããä»ã®ã½ããã§ä½æããPDFã«å¯¾ãã¦ãé©ç¨ã§ããæ¹æ³ã¨ãã¦ãããã§ã¯Adobe ReaderãAdobe Acrobatãªã©ã使ã£ã¦ã¿ã¾ãã ãµã³ãã«ã¨ãã¦ã2087KBã®PDFãã¡ã¤ã«ã使ãã¾ããå ãã¡ã¤ã«ã®å 容ã«ãã£ã¦ç¸®å°å¹æã¯ç°ãªãã¨æããã¾ãã®ã§äºããäºæ¿ãã ããã ï¼ï¼Adobe Reader/Adobe Acrobatã§ååãä»ãã¦ä¿åãã PDFãã¡ã¤ã«ãå¥åã§ä¿åãããã¨ã§ããã¡ã¤ã«ã®ãµã¤ãºã縮å°ãããå ´åããã
ã¯ããã« æ¬é£è¼ã§ã¯ãPHPã§PDFã使ããã¨ã¯ã¹ãã³ã·ã§ã³ã§ããHaruã«ã¤ãã¦ç´¹ä»ãã¦ãã¾ããä»åã¯ç»åã®è¡¨ç¤ºæ¹æ³ã帳票åºåæã«è¨å®ã好ã¾ããããããã£ã¨ã»ãã¥ãªãã£è¨å®ã®æ¹æ³ãããã¦ååç´¹ä»ããæ¹æ³ãå«ãã¦ãç°¡åãªå¸³ç¥¨åºåãéãã¦ããå®è·µçãªä½¿ãæ¹ãç´¹ä»ãã¾ãã 対象èªè PHPã®åºæ¬æ§æãçè§£ãã¦ããæ¹ã§ã帳票å°å·ãPDFãã¡ã¤ã«ã«èå³ãããæ¹ã対象ã¨ãã¦ãã¾ãã å¿ è¦ãªç°å¢ ãã®è¨äºã§ã¯ã以ä¸ã®ã©ã¤ãã©ãªã使ç¨ãã¦ãã¾ãã libharu 2.1 haru 1.0.4 ã¾ããPHP 5.4ã使ç¨ããLinuxã§åä½ã®ç¢ºèªãè¡ã£ã¦ããã¾ããåé ç®ã®ã¤ã³ã¹ãã¼ã«æ¹æ³ã¯ãååãåç §ãã¦ãã ããã ç»åã表示ãã ç»åãèªã¿åºãã¡ã½ããã¯ã以ä¸ã®3ã¤ã®ã¡ã½ããã使ã£ã¦HaruImageãªãã¸ã§ã¯ãã使ãã¾ããå¾ã£ã¦ããã以å¤ã®ãã©ã¼ãããã®å ´åã«ã¯ãä¸åº¦ãããã®ãã©ã¼ãããã«GDã©ã¤
Convert Plain-text Documents to PDF, Docx, and ePub with Docverter:: Docverter APIçµç±ã§HTMLçãPDF,Office,EPUBå½¢å¼ã«å¤æã§ãããDocverterã ãµã¼ãã«å¯¾ãã¦APIçµç±ã§curlãªã©ã§ãªã¯ã¨ã¹ããã¦ãã¡ã¤ã«ã®ãã©ã¼ããã夿ãå¯è½ã ã½ã¼ã¹ãGithubã§å ¬éããã¦ããã®ã§ãã¦ã³ãã¼ããã¦èªåã®ãµã¼ãã«è¨ç½®ãã¦å©ç¨åºæ¥ã¾ãã HTMLâPDFã¨ããã®ã¯ãªããªãéè¦ãããããã§ããããããAPIçµç±ã§å¤æã§ããã¨ããã®ã¯ä¾¿å©ã§ããã åºåã«é¢ãã¦ã¯æ¬¡ã®ãããªãã©ã¼ãããã«åºååºæ¥ã¾ãã é¢é£ã¨ã³ã㪠HTMLå ã«PDFãåãè¾¼ããJSãã©ã°ã¤ã³é JavaScriptã®ã³ã¼ãã§PDFãçæã§ãããjsPDFã ãã©ã¦ã¶ä¸ã§PDFã表示ããJSã©ã¤ãã©ãªãPDF.jsã ææ¸ãã§ãµã¤ãã
ThinReportsã¯ãã«ããã©ãããã©ã¼ã ã§åä½ããã¨ãã£ã¿ãå«ãã PDFåºåã®å¸³ç¥¨ä½æã½ããã¦ã§ã¢ã§ãã Webã·ã¹ãã ã§å¸³ç¥¨å¨ãã«æ©ã¾ãã¦ããæ¹ã«æå ±ã§ããThinReportsã¯æ¥æ¬è£½ããã¤GUIã®ã¨ãã£ã¿ã¾ã§å«ãã帳票ã½ããã¦ã§ã¢ã«ãªãã¾ãã ã¨ãã£ã¿ã§ããWindows/Mac OSX/Linuxçãããã¾ãã æ°ãã帳票ã使ãã¾ãã ããã¹ãããã¯ã¹ãé ç½®ãã¦ããã°ã©ã ããå ¥åå 容ã夿´ã§ãã¾ãã ä¸è¦§è¡¨ç³»ã追å ã§ãã¾ããèªåæ¹ãã¼ã¸ãããã¾ãã å®ç¾©ãHTMLä¿åãããã¨ãã§ãã¾ãã HTMLã®å®ç¾©æ¸ã§ãã ããããæ å ±ã¯åè¨éçºãªã©ã§å½¹ç«ã¡ããã§ãã ã³ã¼ãã®ãµã³ãã«ã§ãã使ããã¬ã¤ã¢ã¦ããã¡ã¤ã«ãèªã¿è¾¼ãã§ãå¤ã夿´ãã¤ã¤æå¾ã«PDFãã¡ã¤ã«ãæå®ãã¦ä¿åãã¦ãã¾ãã Rubygemsã使ã£ã¦ThinReportsãã¤ã³ã¹ãã¼ã«ãã¾ãã å ã»ã©ã®ã³ã¼ããå®è¡ããã¨
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ã¡ã³ããã³ã¹
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}