Catálogo PDF PrestaShop: guia completo
Instalação, configuração e utilização do módulo Catálogo PDF: integração nas suas páginas por shortcode, página de montra, visualizador profissional (página dupla, miniaturas, ecrã inteiro) e SEO. PrestaShop 8 e 9.
Apresentação
O DFPDFCatalog publica os seus catálogos em PDF diretamente na sua loja PrestaShop 8 ou 9. O módulo funciona de duas formas complementares. Cria primeiro as suas próprias páginas no front-office: uma página de montra que lista todos os seus catálogos em banners clicáveis (/catalogues-pdf) e uma página de visualização por catálogo (/catalogue-pdf/{id}-{slug}). Permite depois integrar qualquer catálogo em qualquer página da sua loja, através de um shortcode, de um widget Smarty ou de uma iframe.
Nos dois casos, o PDF é apresentado num leitor integrado de nível profissional: modo de página dupla ao estilo revista, miniaturas clicáveis, ecrã inteiro, zoom, ligações clicáveis e texto selecionável.
Instalação
- Descarregue o ficheiro ZIP do módulo a partir da sua conta DataFirefly.
- No seu back-office PrestaShop, vá a Módulos → Gestor de módulos → Instalar um módulo.
- Selecione o ficheiro
dfpdfcatalog.zipe valide. - O módulo instala-se automaticamente: as tabelas da base de dados, o separador de administração e as rotas do front-office são criados sem qualquer configuração manual.
Depois da instalação, aparece um novo separador Catálogos PDF no menu Catálogo do back-office.
O mesmo ficheiro instala-se no PrestaShop 8.0 a 8.2 e no PrestaShop 9.x. Não há versões distintas a descarregar consoante a sua geração.
Atualização a partir de uma versão anterior
- Carregue a nova versão em Módulos → Gestor de módulos → Instalar um módulo (ou substitua a pasta
/modules/dfpdfcatalog/por FTP). - Limpe a cache do PrestaShop: Parâmetros avançados → Desempenho → Limpar a cache.
A atualização preserva os seus catálogos existentes: as tabelas da base de dados e os ficheiros carregados (banners e PDF) não são tocados. Ao passar para a 1.2.0, o módulo regista automaticamente os hooks necessários à integração nas páginas.
Acrescentar um catálogo
- Vá a Catálogo → Catálogos PDF e clique em Adicionar um catálogo.
- Preencha o título (traduzível por idioma): serve também para gerar o slug do URL e o meta title da página.
- Preencha a descrição (traduzível): é apresentada na página de visualização e usada como meta description.
- Carregue a imagem do banner: aparece na grelha da página de montra e serve de cartaz de abertura quando o catálogo é integrado numa página.
- Carregue o ficheiro PDF.
- Defina a posição (ordem de apresentação na grelha) e o estado ativo/inativo.
- Em multiloja, assinale as lojas onde o catálogo deve aparecer.
- Grave: o catálogo fica imediatamente visível em
/catalogues-pdf.
Depois de gravado o catálogo, volte a abri-lo: o formulário apresenta um bloco Códigos de integração com os quatro códigos prontos a copiar para o apresentar noutro ponto da sua loja. Clique num campo para o selecionar.
Integrar um catálogo numa página
A página de montra não serve todos os usos. Para uma landing page de negócio, uma página de concursos públicos ou uma categoria que deva apresentar o seu próprio catálogo, pode colocar o visualizador exatamente onde quiser.
Método recomendado: o shortcode
Cole este marcador no conteúdo da sua página, no ponto exato onde o catálogo deve aparecer:
[dfpdfcatalog id="3"]
Substitua 3 pelo identificador do catálogo, visível na coluna ID da lista Catálogo → Catálogos PDF. O shortcode funciona:
- no conteúdo das páginas CMS;
- nas descrições de categoria;
- nas descrições de produto.
Nestes três contextos, o módulo substitui o marcador do lado do servidor, antes do envio da página. Em todos os outros contextos (blocos do tema, módulos de terceiros, page builders), um recurso em JavaScript deteta o marcador na página e monta aí o visualizador. Não tem nada a configurar: o comportamento é idêntico para o visitante.
Opções do shortcode
id— identificador do catálogo. Obrigatório.mode—click(predefinido) apresenta primeiro um cartaz com o banner do catálogo e só carrega o visualizador ao clique.inlineapresenta diretamente o visualizador, carregado à aproximação da área visível.height— altura do visualizador em píxeis. Por predefinição, o visualizador ocupa 80 % da altura do ecrã.title— texto apresentado no cartaz de abertura. Por predefinição, o título do catálogo.
[dfpdfcatalog id="3" mode="inline" height="800"]
Widget Smarty num template do tema
Para integrar um catálogo diretamente num ficheiro .tpl do seu tema:
{widget name='dfpdfcatalog' id_catalog=3 mode='inline'}
Esta sintaxe só funciona nos templates. Como o conteúdo das páginas CMS não é interpretado pelo Smarty, use nesse caso o shortcode.
Iframe, incluindo fora do PrestaShop
O módulo expõe uma página de integração sem cabeçalho nem rodapé da loja, para colocar numa iframe:
<iframe src="/catalogue-pdf-embed/3" width="100%" height="800" style="border:0;" loading="lazy"></iframe>
É o método a escolher para apresentar um catálogo num site externo. Estas páginas de integração estão em noindex e nunca concorrem, por isso, com as suas páginas reais nos resultados de pesquisa. Note que a altura de uma iframe é fixa: na sua própria loja, prefira o shortcode, que se adapta ao conteúdo.
Vários catálogos na mesma página
Pode colocar tantos catálogos quantos forem necessários na mesma página. Cada integração cria um visualizador independente, com os seus próprios comandos de navegação, o seu zoom e o seu modo de apresentação. Os atalhos de teclado atuam apenas sobre o visualizador que está sob o rato, não sobre todos ao mesmo tempo.
O carregamento está otimizado para este cenário:
- no modo
click, nenhum PDF é descarregado enquanto o visitante não abrir um catálogo; - no modo
inline, o carregamento arranca à aproximação da área visível; - a biblioteca de renderização e a folha de estilo são descarregadas uma única vez para toda a página e apenas se existir mesmo um catálogo nela.
Uma página com oito catálogos em modo click carrega, portanto, apenas oito imagens de banner de início.
Páginas do front-office
Página de montra
A página /catalogues-pdf apresenta todos os catálogos ativos da loja atual numa grelha de banners, ordenados por posição. Cada banner remete para o visualizador do catálogo. A página gera o seu próprio meta title e a sua meta description e integra-se no trilho de navegação nativo do PrestaShop.
Página de visualização
Cada catálogo tem a sua própria página /catalogue-pdf/{id}-{slug}. O PDF é aí apresentado no visualizador integrado, com um botão de regresso à montra e um botão de descarga direta. O PDF é servido através de um controlador PHP em apresentação inline, o que força a visualização no navegador. Os pedidos HTTP Range são suportados, o que permite aos catálogos grandes carregarem progressivamente em vez de de uma só vez.
Utilizar o visualizador
O visualizador assenta no PDF.js (Mozilla) e oferece os seguintes comandos na sua barra de ferramentas:
- Miniaturas — mostra ou oculta a barra lateral das miniaturas das páginas. As miniaturas são clicáveis e vão sendo geradas à medida do deslocamento (renderização preguiçosa), mesmo em catálogos muito longos. A página ou páginas ativas ficam realçadas.
- Página dupla — alterna entre a apresentação página a página e o modo de página dupla ao estilo revista: capa isolada e depois pares 2-3, 4-5, etc. Este modo está ativado por predefinição em ecrãs com pelo menos 1024 px de largura.
- Navegação — botões anterior/seguinte e indicador de página (por exemplo, «Página 4-5 / 24» no modo de página dupla). As setas esquerda/direita do teclado também funcionam.
- Zoom — aproximar e afastar em incrementos de 25 % e botão de ajuste automático à largura.
- Ecrã inteiro — coloca o visualizador em ecrã inteiro através da API nativa do navegador. No Safari do iOS é usado automaticamente um modo de ecrã inteiro simulado. A tecla Esc permite sair.
As hiperligações contidas no PDF mantêm-se clicáveis: as ligações externas abrem num novo separador e as ligações internas (índice, remissões) navegam diretamente dentro do visualizador. Se o PDF tiver uma camada de texto, o texto fica selecionável e copiável e a pesquisa Ctrl+F do navegador funciona sobre o conteúdo.
A renderização usa a densidade de píxeis do ecrã (HiDPI): as páginas ficam nítidas em ecrãs Retina e 4K.
SEO e URL
O módulo declara as suas rotas através do hook moduleRoutes do PrestaShop:
/catalogues-pdf— página de montra, com meta title e meta description próprios./catalogue-pdf/{id}-{slug}— um URL limpo por catálogo, em que o slug é gerado automaticamente a partir do título. O meta title retoma o título do catálogo e a meta description retoma a sua descrição./catalogue-pdf-embed/{id}— página de integração destinada às iframes, emnoindex.
Não é preciso criar qualquer página CMS: as rotas são registadas automaticamente na instalação.
Numa loja portuguesa — As bases de URL das rotas são as do módulo e ficam em francês (/catalogues-pdf, /catalogue-pdf/...). Só a parte do slug segue o título traduzido. Se quiser bases portuguesas, terá de as alterar nas rotas do módulo.
Multilingue e multiloja
Os títulos e as descrições traduzem-se campo a campo no formulário de edição (seletor de idioma padrão do PrestaShop). Cada idioma gera o seu próprio slug e os seus próprios metadados. Em multiloja, a associação entre catálogo e loja gere-se por caixas de seleção: cada loja apresenta apenas os catálogos que lhe estão atribuídos. Esta filtragem aplica-se igualmente ao acesso direto por URL e às integrações nas páginas: um catálogo não atribuído à loja atual nunca é aí servido.
Resolução de problemas
O shortcode aparece como texto simples na página
- Verifique se o identificador corresponde mesmo a um catálogo existente, ativo e atribuído à loja atual. Um identificador inexistente deixa o marcador intacto em vez de apresentar um visualizador vazio.
- Verifique se o catálogo tem mesmo um ficheiro PDF.
- Limpe a cache do PrestaShop e recarregue a página em navegação privada.
- Se acabou de atualizar o módulo, desinstale-o e reinstale-o para forçar o registo dos hooks de integração.
O PDF não aparece
- Verifique se o ficheiro PDF foi mesmo carregado (volte a editar o catálogo no back-office).
- Limpe a cache do PrestaShop e recarregue a página em navegação privada.
- Se aparecer uma mensagem de erro no visualizador, é proposta em alternativa uma ligação de descarga direta do PDF.
O texto não é selecionável ou o Ctrl+F não encontra nada
A seleção de texto exige que o PDF contenha uma camada de texto. Os PDF digitalizados ou exportados em bitmap puro não a têm: nesse caso, só a apresentação gráfica é possível. Passe o documento por uma ferramenta de OCR se precisar do texto.
As ligações do PDF não são clicáveis
As ligações têm de ser verdadeiras anotações de ligação no PDF (criadas pela ferramenta de exportação: InDesign, Word, LibreOffice…). Um texto que se pareça com um URL mas sem anotação não será clicável.
As páginas aparecem esticadas ou desfocadas
Este problema das versões 1.0.0 está corrigido desde a versão 1.0.1 (renderização HiDPI e neutralização dos resets CSS dos temas). Atualize o módulo e limpe a cache do PrestaShop.
Histórico das versões
- 1.2.0 (2026-08-10) — Integração de um catálogo em qualquer página através de shortcode, widget Smarty ou iframe; substituição do lado do servidor nas páginas CMS, categorias e fichas de produto, com recurso a JavaScript; visualizador reescrito em instâncias independentes (vários catálogos por página); carregamento preguiçoso; códigos de integração prontos a copiar no back-office; suporte dos pedidos HTTP Range.
- 1.1.0 (2026-08-10) — Compatibilidade com o PrestaShop 9; correção da associação de loja no formulário de edição; filtragem por loja aplicada ao acesso direto por URL; verificação do conteúdo real dos ficheiros enviados.
- 1.0.4 (2026-05-11) — Modo de ecrã inteiro (API nativa + alternativa para o Safari do iOS); correção do ajuste à largura da capa no modo de página dupla; realce dos botões ativos.
- 1.0.3 (2026-05-11) — Modo de página dupla ao estilo revista (capa isolada e depois 2-3, 4-5…); ativação automática em ecrãs largos; cancelamento correto das renderizações em navegações rápidas.
- 1.0.2 (2026-05-11) — Barra lateral de miniaturas clicáveis com renderização preguiçosa; camada de texto (seleção + Ctrl+F); botão de apresentação das miniaturas.
- 1.0.1 (2026-05-11) — Renderização HiDPI nítida em Retina/4K; ligações do PDF clicáveis (camada de anotações); correção do esticamento vertical das páginas.
- 1.0.0 (2026-05-08) — Versão inicial: página de montra, visualizador integrado, URL otimizados para SEO, multilingue e multiloja.