Come ridimensionare l'HTML in modo che non finisca in PDF

1

Sto provando a creare una versione redatta e stampabile di una pagina web. Mi piacerebbe che l'utente avesse la possibilità di convertire questa pagina stampabile in PDF e inviarla per posta elettronica a qualcun altro.

La mia ricerca indica che il modo migliore per cancellare i dati da qualsiasi tipo di documento elettronico è rimuoverlo. Nel mio caso questo non è possibile.

In seguito ho visto diversi post che suggeriscono di utilizzare il CSS per visualizzare il testo come quadratini neri, ecc. Sto pensando di usare display: none, in modo che il testo non venga semplicemente visualizzato.

Infine alle mie domande: se uso CSS per nascondere il testo redatto in qualche modo, questo testo sarà ancora incluso nel PDF e un utente Adobe esperto potrebbe accedervi? O c'è un altro metodo che dovrei provare?

    
posta ann b 12.07.2016 - 18:34
fonte

3 risposte

3

Puoi utilizzare un parser HTML come BeautifulSoup per rimuovere a livello di codice tag HTML o sostituirli con tag come <div class=redacted>~~~~~~~~~~</div> e aggiungere una classe redatta al tuo foglio di stile con testo nero e sfondo nero o semplicemente mettere display:none . Nota: sostituisci le informazioni redatte con dati spazzatura: questa è la chiave!

Modifica: usando display: nessuno non funzionerà perché un utente potrebbe semplicemente guardare l'HTML grezzo. Basta sostituirlo con caratteri indesiderati e stilizzarli secondo le tue esigenze.

    
risposta data 12.07.2016 - 19:03
fonte
2

Potrebbe essere possibile per il tuo server pubblicare una versione dell'HTML con il contenuto rimosso rimosso.

Sembra che tu abbia alcune funzionalità lato server disponibili per realizzare le funzioni Email e PDF. Pubblicare HTML alternativo (dove il contenuto redatto è completamente rimosso dall'HTML) potrebbe non essere un'aggiunta significativa alla tua applicazione rispetto a quello che stai già facendo.

Tuttavia, se ciò non è possibile, e sei limitato alle regole CSS, Il percorso più sicuro per te è convertire la pagina in un'immagine dopo la redazione e includere solo l'immagine nel PDF generato. (sfortunatamente perdi anche le funzioni di selezione del testo che lo fanno)

Se è necessario mantenere la formattazione del testo e non convertirla in un'immagine, utilizzare display:none suona come l'approccio più probabile che potrebbe funzionare. Tuttavia, tutto dipende dal generatore di PDF che stai utilizzando. È probabile che alcuni generatori di PDF includano ancora il contenuto in forma nascosta (o visibile).

Potresti anche considerare l'utilizzo di JavaScript per rimuovere l'elemento redatto, ma molti generatori di PDF non lo supportano.

Un ultimo punto, le tecniche CSS e JavaScript non rimuoveranno il contenuto redatto dall'HTML, quindi se stai permettendo alla gente di inviare via email una versione HTML, il contenuto redatto sarà ancora lì. Sembra che tu sia interessato solo a inviare le copie PDF via email ...

    
risposta data 12.07.2016 - 19:02
fonte
0

L'unico modo per eliminare i contenuti digitali è rimuoverlo. Puoi nasconderlo in tutti i modi e nessuno di essi sarà mai efficace.

    
risposta data 12.07.2016 - 18:55
fonte

Leggi altre domande sui tag