/framework/vendor/zend/Zend/Pdf/Destination/Named.php

http://zoop.googlecode.com/ · PHP · 101 lines · 28 code · 9 blank · 64 comment · 4 complexity · 5df0980e87216692a3011eb1e8900d45 MD5 · raw file

  1. <?php
  2. /**
  3. * Zend Framework
  4. *
  5. * LICENSE
  6. *
  7. * This source file is subject to the new BSD license that is bundled
  8. * with this package in the file LICENSE.txt.
  9. * It is also available through the world-wide-web at this URL:
  10. * http://framework.zend.com/license/new-bsd
  11. * If you did not receive a copy of the license and are unable to
  12. * obtain it through the world-wide-web, please send an email
  13. * to license@zend.com so we can send you a copy immediately.
  14. *
  15. * @category Zend
  16. * @package Zend_Pdf
  17. * @subpackage Destination
  18. * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
  19. * @license http://framework.zend.com/license/new-bsd New BSD License
  20. * @version $Id: Named.php 20096 2010-01-06 02:05:09Z bkarwin $
  21. */
  22. /** Internally used classes */
  23. require_once 'Zend/Pdf/Element.php';
  24. require_once 'Zend/Pdf/Element/String.php';
  25. /** Zend_Pdf_Destination */
  26. require_once 'Zend/Pdf/Destination.php';
  27. /**
  28. * Destination array: [page /Fit]
  29. *
  30. * Display the page designated by page, with its contents magnified just enough
  31. * to fit the entire page within the window both horizontally and vertically. If
  32. * the required horizontal and vertical magnification factors are different, use
  33. * the smaller of the two, centering the page within the window in the other
  34. * dimension.
  35. *
  36. * @package Zend_Pdf
  37. * @subpackage Destination
  38. * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
  39. * @license http://framework.zend.com/license/new-bsd New BSD License
  40. */
  41. class Zend_Pdf_Destination_Named extends Zend_Pdf_Destination
  42. {
  43. /**
  44. * Destination name
  45. *
  46. * @var Zend_Pdf_Element_Name|Zend_Pdf_Element_String
  47. */
  48. protected $_nameElement;
  49. /**
  50. * Named destination object constructor
  51. *
  52. * @param $resource
  53. * @throws Zend_Pdf_Exception
  54. */
  55. public function __construct(Zend_Pdf_Element $resource)
  56. {
  57. if ($resource->getType() != Zend_Pdf_Element::TYPE_NAME && $resource->getType() != Zend_Pdf_Element::TYPE_STRING) {
  58. require_once 'Zend/Pdf/Exception.php';
  59. throw new Zend_Pdf_Exception('Named destination resource must be a PDF name or a PDF string.');
  60. }
  61. $this->_nameElement = $resource;
  62. }
  63. /**
  64. * Create named destination object
  65. *
  66. * @param string $name
  67. * @return Zend_Pdf_Destination_Named
  68. */
  69. public static function create($name)
  70. {
  71. return new Zend_Pdf_Destination_Named(new Zend_Pdf_Element_String($name));
  72. }
  73. /**
  74. * Get name
  75. *
  76. * @return Zend_Pdf_Element
  77. */
  78. public function getName()
  79. {
  80. return $this->_nameElement->value;
  81. }
  82. /**
  83. * Get resource
  84. *
  85. * @internal
  86. * @return Zend_Pdf_Element
  87. */
  88. public function getResource()
  89. {
  90. return $this->_nameElement;
  91. }
  92. }