it-swarm-eu.dev

Zobrazit PDF jako "uzel" / obsah

Pracuji na aktualizaci našeho stávajícího intranetu na Drupala.

Co musím udělat, je vzít PDF a načíst jej do prvku iframe/node přes Adobe Reader (nebo podobně).

Mohu získat něco podobného pomocí (myslím) CCK a FileViewer, ale rád bych odstranil obálku filevieweru a v prohlížeči mám pouze standardní PDF).

Předpokládejme, že jsou nainstalovány IE7/8 a Adobe Reader.

Aktualizace:
Modul uživatelského formátovače: vlastní modul
Výsledek modulu: zde zadejte popis obrázk

Aktualizace 2  enter image description here Použití objektu na tyto pokyny dává lépe ovládaný blok, na kterém lze stavět. Nakonec přidám „Potřebujete Adobe nainstalovaný ZDE pro zobrazení TOTO PDF“ pro malou šanci, že nebude nainstalován žádný prohlížeč pdf.

3
WernerCD

To lze provést pomocí prvku <iframe> V rámci vlastního formátovače pro pole souboru .

Formátoři polí řídí výstup pole: to je to, co vám umožňuje zvolit, zda chcete zobrazit obecný odkaz, název souboru atd. Co můžete udělat, je vytvořit takové, které zobrazí PDF v rámci <iframe> Prvek.

K tomu musíte implementovat (minimálně) dva háčky: hook_field_formatter_info() a hook_field_formatter_view() :

/**
 * Implements hook_field_formatter_info().
 */
function sandbox_field_formatter_info() {
  $info = array();
  $info['sandbox_formatter'] = array(
    'label' => t('Inline file'),
    'description' => t('Display the file within an iframe.'),
    'field types' => array('file'),
  );
  return $info;
}

/**
 * Implements hook_field_formatter_view().
 */
function sandbox_field_formatter_view($entity_type, $entity, $field, $instance, $langcode, $items, $display) {
  $element = array();

  // Create the proper markup for each item within the field instance
  foreach ($items as $delta => $item) {
    $path = file_create_url($item['uri']);
    $element[$delta] = array(
      '#markup' => '<iframe src="' . $path . '"></iframe>',
    );
  }
  return $element;
}

Poté můžete vytvořit pole souboru, nastavit jej tak, aby povolilo pouze PDF, a jako formát zobrazení zvolte vložený soubor . Když zobrazíte uzel s PDF, zobrazí se prvek PDF v rámci <iframe>).

Výše uvedené je velmi základní, minimální příklad: pro přechodný příklad, který ukazuje, jak implementovat nastavení formátovače, podívejte se na výuka Dan Linna . Také se podívejte na relevantní stránky API, které zahrnují ukázkové implementace ještě pokročilejší než Linnovy:

Kromě toho je třeba poznamenat, že existuje několik souvisejících modulů:

  • Iframe : vytvoří formátovací prvek elementu <iframe>, Ale ještě nebyl přenesen na Drupal 7).
  • Vlastní formátovače : tvrdí, že umožňuje vytváření vlastních formátovačů, aniž by bylo nutné vytvářet vlastní modul
2
user7

Pokud si přejete otevřít PDF v okně prohlížeče a jsou nainstalovány pluginy Adobe Reader +, stačí použít CCK k implementaci FileField a zobrazit jej jako „Obecný soubor“. Prohlížeč zajistí jeho automatické otevření . Ne ​​Drupal vyžaduje kouzlo nebo dovednosti ...

0
Alex Weber