You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

104 lines
3.2 KiB

  1. <?php
  2. //============================================================+
  3. // File name : tcpdf_import.php
  4. // Version : 1.0.001
  5. // Begin : 2011-05-23
  6. // Last Update : 2013-09-17
  7. // Author : Nicola Asuni - Tecnick.com LTD - www.tecnick.com - info@tecnick.com
  8. // License : GNU-LGPL v3 (http://www.gnu.org/copyleft/lesser.html)
  9. // -------------------------------------------------------------------
  10. // Copyright (C) 2011-2013 Nicola Asuni - Tecnick.com LTD
  11. //
  12. // This file is part of TCPDF software library.
  13. //
  14. // TCPDF is free software: you can redistribute it and/or modify it
  15. // under the terms of the GNU Lesser General Public License as
  16. // published by the Free Software Foundation, either version 3 of the
  17. // License, or (at your option) any later version.
  18. //
  19. // TCPDF is distributed in the hope that it will be useful, but
  20. // WITHOUT ANY WARRANTY; without even the implied warranty of
  21. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  22. // See the GNU Lesser General Public License for more details.
  23. //
  24. // You should have received a copy of the License
  25. // along with TCPDF. If not, see
  26. // <http://www.tecnick.com/pagefiles/tcpdf/LICENSE.TXT>.
  27. //
  28. // See LICENSE.TXT file for more information.
  29. // -------------------------------------------------------------------
  30. //
  31. // Description : This is a PHP class extension of the TCPDF library to
  32. // import existing PDF documents.
  33. //
  34. //============================================================+
  35. /**
  36. * @file
  37. * !!! THIS CLASS IS UNDER DEVELOPMENT !!!
  38. * This is a PHP class extension of the TCPDF (http://www.tcpdf.org) library to import existing PDF documents.<br>
  39. * @package com.tecnick.tcpdf
  40. * @author Nicola Asuni
  41. * @version 1.0.001
  42. */
  43. // include the TCPDF class
  44. require_once(dirname(__FILE__).'/tcpdf.php');
  45. // include PDF parser class
  46. require_once(dirname(__FILE__).'/tcpdf_parser.php');
  47. /**
  48. * @class TCPDF_IMPORT
  49. * !!! THIS CLASS IS UNDER DEVELOPMENT !!!
  50. * PHP class extension of the TCPDF (http://www.tcpdf.org) library to import existing PDF documents.<br>
  51. * @package com.tecnick.tcpdf
  52. * @brief PHP class extension of the TCPDF library to import existing PDF documents.
  53. * @version 1.0.001
  54. * @author Nicola Asuni - info@tecnick.com
  55. */
  56. class TCPDF_IMPORT extends TCPDF {
  57. /**
  58. * Import an existing PDF document
  59. * @param $filename (string) Filename of the PDF document to import.
  60. * @return true in case of success, false otherwise
  61. * @public
  62. * @since 1.0.000 (2011-05-24)
  63. */
  64. public function importPDF($filename) {
  65. // load document
  66. $rawdata = file_get_contents($filename);
  67. if ($rawdata === false) {
  68. $this->Error('Unable to get the content of the file: '.$filename);
  69. }
  70. // configuration parameters for parser
  71. $cfg = array(
  72. 'die_for_errors' => false,
  73. 'ignore_filter_decoding_errors' => true,
  74. 'ignore_missing_filter_decoders' => true,
  75. );
  76. try {
  77. // parse PDF data
  78. $pdf = new TCPDF_PARSER($rawdata, $cfg);
  79. } catch (Exception $e) {
  80. die($e->getMessage());
  81. }
  82. // get the parsed data
  83. $data = $pdf->getParsedData();
  84. // release some memory
  85. unset($rawdata);
  86. // ...
  87. print_r($data); // DEBUG
  88. unset($pdf);
  89. }
  90. } // END OF CLASS
  91. //============================================================+
  92. // END OF FILE
  93. //============================================================+