C# problema con PDF

mercoledì 19 novembre 2008 - 11.50

Zukkerino84 Profilo | Newbie

Ciao a tutti, mi servirebbe una mano. Sto facendo un sito e siccome devo fare una statistica su i file pdf scaricati, dovrei riuscire ad eliminare la barra degli strumenti (più precisamente il tasto salva) dal pdf nel momento in cui si apre il foglio; perchè altrimenti gli utenti possono visionare i file e salvarli dal foglioi del pdf e non dal sito, e facendo cosi perderei le statistice.

grazie mille
Francesco

0v3rCl0ck Profilo | Guru

>Ciao a tutti, mi servirebbe una mano. Sto facendo un sito e siccome
>devo fare una statistica su i file pdf scaricati, dovrei riuscire
>ad eliminare la barra degli strumenti (più precisamente il tasto
>salva) dal pdf nel momento in cui si apre il foglio; perchè altrimenti
>gli utenti possono visionare i file e salvarli dal foglioi del
>pdf e non dal sito, e facendo cosi perderei le statistice.

Puoi anche fare in modo che il file venga scaricato e non aperto con il visualizzatore di default. Puoi farti una pagina proxy, che ti salva la statistica, e poi rilasciare il pdf con un binarywrite del file sul responde e specificando come content-type nell'header del response il valore "application/octet-stream".

>
>grazie mille
>Francesco

Enjoy It

-------------------------------------------------------------------
Michael Denny
Senior Software Developer - Microsoft Framework (C# ASP.NET VB.NET)
http://blogs.dotnethell.it/Regulator/

Zukkerino84 Profilo | Newbie

quindi se ho capito bene devo sostituire

"application/octet-stream"
a
Response.ContentType = "application/pdf"; giusto??!??!

Cmq io il cosi te l'ho riportato qua sotto, scusa per le domande ma sono un pò inesperto, se puoi essere un pò più chiaro mi faresti un gran favore.
Grazie mille


Response.ClearContent();
Response.ClearHeaders();
Response.AddHeader("Content-Disposition", "inline"; filename=" + doc);
Response.ContentType = "application/pdf";
Response.WriteFile(pathServerFile);
Response.Flush();
Response.Close();
Francesco

0v3rCl0ck Profilo | Guru

>quindi se ho capito bene devo sostituire
>
>"application/octet-stream"
>a
>Response.ContentType = "application/pdf"; giusto??!??!
>
>Cmq io il cosi te l'ho riportato qua sotto, scusa per le domande
>ma sono un pò inesperto, se puoi essere un pò più chiaro mi faresti
>un gran favore.
>Grazie mille
>
>
>Response.ClearContent();
>Response.ClearHeaders();
>Response.AddHeader("Content-Disposition", "inline"; filename="
>+ doc);
> Response.ContentType = "application/pdf";
> Response.WriteFile(pathServerFile);
> Response.Flush();
> Response.Close();

Si dovresti sostituire a:

Response.ContentType = "application/pdf";

questo:

Response.ContentType = "application/octet-stream";

Il sistema non sapendo a che application associarlo, dovrebbe obbligare explorer a fare scaricare il file. L'ho provato giusto l'altro giorno e non dovresti avere problemi. L'unica cosa dovresti vedere se anche con firefox funziona, o si improvvisa e capisce che è comunque un pdf e ti apre il plugin dell'adobe pdf-reader.

Fammi sapere se quella cosa ha funzionato

-------------------------------------------------------------------
Michael Denny
Senior Software Developer - Microsoft Framework (C# ASP.NET VB.NET)
http://blogs.dotnethell.it/Regulator/

Zukkerino84 Profilo | Newbie

pultroppo non funziona me lo apre sempre in pdf :(
ma tu non conosci un modo per disabilitare la barra degli strumenti di acrobat reader pdf??? chiaramente sempre da codice???
Perchè facendo cosi risolvo tutti i problemi, perchè cosi l'utente per salvarlo deve farlo per frorza dal sito e io posso calcolare le statistiche, altrimenti lo può fare dal pdf e "mi frega".

grazie mille
Francesco

0v3rCl0ck Profilo | Guru

>pultroppo non funziona me lo apre sempre in pdf :(
>ma tu non conosci un modo per disabilitare la barra degli strumenti
>di acrobat reader pdf??? chiaramente sempre da codice???
>Perchè facendo cosi risolvo tutti i problemi, perchè cosi l'utente
>per salvarlo deve farlo per frorza dal sito e io posso calcolare
>le statistiche, altrimenti lo può fare dal pdf e "mi frega".

Fai un'altra prova.

Metti al posto di inline -> attachment Vedrai che funziona. Non avevo visto che avevi messo inline.

Response.AddHeader("Content-Disposition", "attachment; filename=" + doc);

>
>grazie mille
>Francesco

-------------------------------------------------------------------
Michael Denny
Senior Software Developer - Microsoft Framework (C# ASP.NET VB.NET)
http://blogs.dotnethell.it/Regulator/

Zukkerino84 Profilo | Newbie

ora funziona, ma pultroppo il mio problema non si risolve, perchè anche qui l'utente può scegliere di aprire solamente il file e poi una volta aperto, lo salva dal pdf e mi "rifrega".
cavolo non so proprio come fare, bisognerebbe eliminare il tasto salva del pdf da codice...ma come si fa??? più che altro è possibile???

ciao e grazie mille ancora
Francesco

0v3rCl0ck Profilo | Guru

>ora funziona, ma pultroppo il mio problema non si risolve,
>perchè anche qui l'utente può scegliere di aprire solamente il
>file e poi una volta aperto, lo salva dal pdf e mi "rifrega".
>cavolo non so proprio come fare, bisognerebbe eliminare il tasto
>salva del pdf da codice...ma come si fa??? più che altro è possibile???

Ma scusa, non ho capito, perchè anche così le statistiche non funzionano?? Perchè se clicca su apri pdf, piuttosto che salvare, non viene registrato?? Perchè la statistica non puoi salvarla dal codice che fa il Response.FileWrite?

-------------------------------------------------------------------
Michael Denny
Senior Software Developer - Microsoft Framework (C# ASP.NET VB.NET)
http://blogs.dotnethell.it/Regulator/

Zukkerino84 Profilo | Newbie

Le statistiche funzionano, ma ti spiego, io ho 2 tasti:
1) Apri
2)Salva
se l'utente clicca su salva, si salva il progetto e mi aggiorna le statistiche;
se clicca su apri mi aggiorna le statistiche di visualizzazioni ma a quel punto lui può salvarsi il progetto anche dal pdf e a quel punto mi "frega" perchè io non posso aggiornare le statistiche di salvataggio.

Francesco

0v3rCl0ck Profilo | Guru

>Le statistiche funzionano, ma ti spiego, io ho 2 tasti:
>1) Apri
>2)Salva
>se l'utente clicca su salva, si salva il progetto e mi aggiorna
>le statistiche;
>se clicca su apri mi aggiorna le statistiche di visualizzazioni
>ma a quel punto lui può salvarsi il progetto anche dal pdf e
>a quel punto mi "frega" perchè io non posso aggiornare le statistiche
>di salvataggio.

Però tieni conto che il pdf una volta visualizzato, in realtà è in Internet Temporary Files, quindi volendo potrebbero comunque prendersi il file, anche togliendogli il menu dell'adobe pdf reader. Provo a guardare se si può togliere quel menu, ma comunque anche se si potrà fare, tieni a mente che volendo il file lo riescono a scaricare lo stesso, non in maniera diretta, ma si può.


-------------------------------------------------------------------
Michael Denny
Senior Software Developer - Microsoft Framework (C# ASP.NET VB.NET)
http://blogs.dotnethell.it/Regulator/

Zukkerino84 Profilo | Newbie

Si lo so, sei molto gentile a ad avvertirmi di questo, e sono a conoscenza del problema; ma le persone che andranno ad usare questo sito il 99% sa a malapena accendere il pc.
Se riesci a trovare il modo per disabilitare da codice la barra degli strumenti dei pdf mi faresti un piacere enorme.
Ti ringrazio moltissimo in anticipo.


Francesco

0v3rCl0ck Profilo | Guru

No, pensandoci un po', mi sembra assurdo potere modificare il plugin dell'adobe, anche perchè come potresti passare di parametro?? dove?? no, guarda, proprio lo escludo

Però mi è venuta in mente un'altra cosa, sai che i pdf si possono creare in readonly? Cioè l'utente li apre ma poi non li può salvare!! Quindi quando l'utente va a cliccare su apri, il pdf gli si apre sul plugin di adobe, e non può salvarlo da li (anche se poi se lo ritrova nei Temporary Internet Files). Mentre quando clicca su scarica, il pdf viene salvato dove vuole l'utente, che comunque non potrà farne una copia. Per fare questo però il componente che ti crea il pdf devo supportare quanto detto sopra. Non so, ti ho dato un'altra info, se potrebbe fare al tuo caso, prova a guardare un po' in giro come puoi fare a fare quel tipo di pdf readonly.


-------------------------------------------------------------------
Michael Denny
Senior Software Developer - Microsoft Framework (C# ASP.NET VB.NET)
http://blogs.dotnethell.it/Regulator/

Zukkerino84 Profilo | Newbie

Questa cosa non la spevo proprio...è una buona idea...!!!
ma il problema adesso è....come si fa?!?!?!?!
Francesco

0v3rCl0ck Profilo | Guru

>Questa cosa non la spevo proprio...è una buona idea...!!!
>ma il problema adesso è....come si fa?!?!?!?!

Prima guardati un po' in internet qualche soluzione, se non trovi niente, apri un nuovo thread specifico

Accetta una risposta che chiudiamo questo thread


-------------------------------------------------------------------
Michael Denny
Senior Software Developer - Microsoft Framework (C# ASP.NET VB.NET)
http://blogs.dotnethell.it/Regulator/
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5