-
Notifications
You must be signed in to change notification settings - Fork 24
Open
Description
Contexto
O Crossmark é um serviço da Crossref que permite aos leitores verificar se o conteúdo que estão lendo é a versão mais atual ou se houve correções, retratações ou atualizações. Para isso, um botão/logo do Crossmark deve ser inserido nos PDFs com um link específico por artigo.
Referência: https://www.crossref.org/documentation/crossmark/
Objetivo
Criar uma função que insira o logo do Crossmark em PDFs de artigos, com link para a página Crossmark do respectivo DOI.
Requisitos
Inserção do logo
- Inserir o logo do Crossmark (formato SVG ou PNG) em posição configurável no PDF (padrão: canto superior direito da primeira página).
- O logo deve conter um hyperlink no formato:
https://crossmark.crossref.org/dialog?doi={DOI}&domain=pdf&date_stamp={DATA}{DOI}: DOI do artigo (ex:10.1590/s0100-12345){DATA}: data da última versão significativa do PDF, formatoYYYY-MM-DD
Metadados XMP (opcional, mas desejável)
- Adicionar/atualizar metadados XMP no PDF com os campos:
dc:identifier→doi:{DOI}prism:doi→{DOI}prism:url→https://doi.org/{DOI}crossmark:MajorVersionDate→{DATA}crossmark:DOI→{DOI}pdfx:doi→{DOI}pdfx:CrossmarkMajorVersionDate→{DATA}
Os campos devem existir tanto no namespace crossmark quanto no pdfx (requisito para indexadores que leem o PDF dictionary).
Interface
- Sugestão de função principal com assinatura:
def add_crossmark( input_pdf: str, output_pdf: str, doi: str, date_stamp: str, logo_path: str = "CROSSMARK_Color_horizontal.png", position: str = "top-right", width: int = 150, ) -> None:
- Suportar uso via CLI:
python add_crossmark.py --input artigo.pdf --output artigo_cm.pdf --doi 10.1590/s0100-12345 --date-stamp 2026-01-15
- Suportar processamento em lote a partir de um CSV (
doi,input_pdf,date_stamp).
Restrições
- Não alterar o conteúdo existente do PDF (texto, imagens, paginação).
- O logo deve ser clicável (hyperlink funcional em leitores como Adobe Reader, Evince, Preview).
- Usar bibliotecas open source (sugestões:
pikepdf,pypdf,reportlab).
Critérios de aceite
- Logo visível na primeira página do PDF de saída
- Link do logo abre a URL correta do Crossmark com DOI e date_stamp
- Metadados XMP presentes e válidos no PDF de saída
- Modo CLI funcionando com
--input,--output,--doi,--date-stamp - Modo lote funcionando com
--csv - Testes com pelo menos 3 PDFs de tamanhos/layouts diferentes
- Nenhuma alteração no conteúdo original do PDF
- Ser usado na geração do PDF
- Ser usado em qualquer PDF já existente
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels