È possibile creare un documento 'modello' stampabile?

0

Sto scrivendo un pezzo di software per generare e stampare i nametag. Il problema che sto riscontrando è che i targhette identificative devono essere formattate allo stesso modo, ma hanno valori diversi (ad esempio nomi diversi, titoli) e possono essere su diverse dimensioni di carta.

Quindi ho bisogno di un modo efficiente per archiviare una sorta di 'modello' che abbia determinate informazioni di formattazione (allineamento, dimensioni e posizione rispetto alle dimensioni del documento) e abbia segnaposto per i valori da sostituire. Poi, in fase di esecuzione, ho bisogno essere in grado di fornire le dimensioni del nametag e dei valori dei campi, per restituire un documento stampabile.

Il mio attuale approccio è di avere un mucchio di documenti HTML pre-scritti che hanno tabelle e dimensioni diverse, e quindi di sostituire i valori delle celle con le informazioni fornite. Il problema con questo è che le tabelle HTML sono davvero limitate sul posizionamento e il dimensionamento degli elementi. Inoltre, alla fine ho bisogno di scrivere javascript per ridimensionare e tradurre elementi per gestire diversi formati di carta e valori di campo molto lunghi, il che limita la riusabilità del codice poiché tutti hanno bisogno di avere lo stesso JS oi file produrranno etichette di denominazione differenti.

C'è un modo migliore per farlo? Esiste un tipo di documento stampabile che utilizza il dimensionamento e il posizionamento relativi per gli elementi, in modo tale che se i valori vengono modificati, la formattazione verrà mantenuta?

Scriverò il mio tipo di file (probabilmente una struttura XML), ma chiunque utilizzi questi file dovrebbe usare un codice aggiuntivo per leggere il mio documento e trasformarlo in qualcosa di stampabile.

    
posta thefistopher 22.09.2014 - 18:36
fonte

4 risposte

2

Ho provato alcune cose in quest'area, tutte con un successo limitato ma accettabile.

  • HTML + CSS. Con una formattazione corretta (nessuna px , sempre em , regole multimediali per pagine CSS, ecc.) È possibile ottenere risultati sufficientemente soddisfacenti. Devi essere sicuro di avere i caratteri corretti installati nel sito di stampa, e molto probabilmente avrai varie intestazioni / piè di pagina aggiunti dal browser sulla pagina. Non otterrai risultati perfetti per i pixel, almeno non in modo stabile. Otterrai la tua pagina ben adattata alle varie lunghezze del testo, potrai inserire buoni tag di formattazione se il tuo testo non è sempre semplice, ecc.
  • Documenti modello OpenOffice. Disporre un documento, definire campi con nome, definire una macro per sostituirli, quindi eseguirlo a livello di programmazione. OOo funziona in modalità headless ( -headless ), quindi otterrai una sorta di 'server di elaborazione e stampa di modelli'. Batte altre soluzioni quando hai bisogno di modelli modificabili dall'utente e quando hai bisogno di esportare file MS Word .doc . Non un pezzo di torta da installare, però. Per esempio. se stampi molto, dovrai gestire da solo una coda per le richieste parallele.
  • PostScript. Funziona solo se si dispone di una stampante PostScript (la maggior parte delle stampanti economiche di fascia consumer non la supportano) o sono disposte a utilizzare ghostscript per la stampa. Ho creato un documento bare-bones, salvato ("stampato") come PostScript, quindi modificato a piacere, per consentire una semplice sostituzione di testo. Funziona alla grande quando hai un sacco di grafica di linee, come moduli legali, e vuoi stampe pixel-perfette, ma non hai nessun layout automatico: se una stringa di testo non si adatta a una scatola, fuoriuscirà. (Puoi puoi gestirlo in PS, ma farlo in modo affidabile è spesso doloroso, perché dovrai spostare più elementi della pagina di quanto pensi.)

Scegli il tuo veleno.

Non guarderei il PDF: quello che ottieni è fondamentalmente tutti i limiti dell'approccio Postscript senza la sua (relativa) trasparenza e malleabilità. Puoi facilmente trasformare PS in PDF usando ghostscript, però.

    
risposta data 23.10.2014 - 20:45
fonte
1

Is there a printable document type that uses relative sizing and positioning for elements, such that if the values are edited the formatting will be preserved?

Sì: PostScript. È un linguaggio di programmazione completo di Turing e allo stesso tempo un linguaggio specifico del dominio per il layout del documento che può essere gestito direttamente da quasi tutte le stampanti moderne.

    
risposta data 23.10.2014 - 17:38
fonte
0

Non userei l'HTML, perché la stampa può essere un disastro. Una soluzione migliore è creare un PDF. La maggior parte delle librerie esterne sono sufficienti per costruire i tuoi nametag. Tuttavia, molti di questi non consentono l'utilizzo di modelli.

Cosa ho fatto per i progetti: 1) (Una versione abbastanza vecchia) Avevamo un file rtf con segnaposto speciali. Quello era il modello. Abbiamo sostituito i segnaposto con i dati e stampato il file concatenato tramite l'applicazione standard per rtf. Perché rtf? E 'stato facile da gestire. 2) Ci sono alcune librerie per elaborare ODF. Ci ha permesso di scrivere i modelli in un editor WYSIWYG e poi abbiamo detto a un Libreoffice senza testa di produrre un PDF. Il PDF è stato stampato e memorizzato per un uso successivo.

    
risposta data 23.09.2014 - 07:46
fonte
0

Un'altra opzione di sfruttamento del PDF potrebbe essere l'uso di un modulo PDF: questo può essere compilato tramite un processo di codice (ci sono sia librerie software che API Web che lo fanno) e poi "appiattito" in un PDF stampabile.

    
risposta data 15.05.2015 - 21:43
fonte

Leggi altre domande sui tag