Salvare file PDF

martedì 05 agosto 2003 - 21.23

francescoteresa Profilo | Newbie

Ciao ragazzi, io dovrei salvare la mia pagina aspx in un file PDF.
Potete aiutarmi.

Io sto programmando con il linguaggio VB e no c#

Grazie mille a tutti.

Brainkiller Profilo | Guru

Ciao Francesco e Benvenuto,
in che senso vuoi salvare la pagina .aspx in PDF ?
Intendi ciò che vedi nel Browser ? In questo caso non è possibile a meno di installare l'Adobe Acrobat Writer sul client che produce dei PDF o prodotti simili.
Oppure usare dei componenti dalla parte del Server (serverside) che ti creano un contenuto identico alla pagina visualizzata e lo mandano al client sottoforma di file binario PDF che puoi salvare.
Oppure se parli di Report e usi Crystal Report, quello già permette di esportare in PDF.
Ciao

David De Giacomi

francescoteresa Profilo | Newbie

Ciao David e grazie per il benvenuto, mi vedrai molto spesso su questo forum :-)
Cmq per prima cosa ti ringrazio di avermi risposto.
Adesso ti spiego un po meglio il mio problema.
Allora io faccio diverse query e tutte queste query io le salvo in un DataTable; una volta finite tutte le query, io stampo a video con il response.write tutto quello che presente nel datatable.
Adesso arriva il mio problema, io non devo stampare a video il contenuto del datatable ma lo devo salvare direttamente in un file pdf.
Per farla + semplice, immagina di fare questa semplice query: "Select * from prova"; invece di stampare a video la query con il semplice comando ExecuteReader(), vorrei che venisse stampato in un PDF e di conseguenza salvato anche il pdf.
Sono stato + chiaro?
Spero proprio di si.
Ciao e grazie.
P.S. Ti ricordo che io programmo in VB
Francesco

Brainkiller Profilo | Guru

Allora in questo caso devi usare un componente di terze parti installato sul Server che crei "al volo" (on the fly) il file PDF e lo spedisca all'utente che lo salva sul suo disco fisso.
Naturalmente tu puoi usare i tuoi DataSet e le DataTable come vuoi e stampare sul PDF ciò che ti interessa.
Qui puoi seguire un ottimo esempio costruito da un amico:
http://www.dopostback.com/eGo/{0.7017112.tpgxpht1nnc8n66qcxnl1.594132E.02.3202003}/file.aspx?ID=7

Ciao
David

francescoteresa Profilo | Newbie

Ciao David,
io ho scritto questo codice che c'è quì sotto proprio come dice l'articolo del tuo amico, però mi esce il seguente errore: BC30002: Tipo "Document" non definito.

Io ho anche installato i due componenti che sono scritti nell'articolo.
Come mai mi da l'erore? Sbaglio qualcosa?
Grazie mille, Francesco


<%@ Page Language="VB" Debug="True" %>
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="iTextSharp.text" %>
<%@ Import Namespace="iTextSharp.text.pdf" %>
<%
dim document as new Document(PageSize.A4)
PdfWriter.getInstance(document, new FileStream ("C:\inetpub\wwwroot\dpb_first.pdf", FileMode.Create))
document.open()
document.Add(new Paragraph("My first test using ItextSharp"))
document.Close()
%>

Valerio Profilo | Newbie

Ciao francesco. Il "Document" (da notarsi la fantasia dell'autore) fa parte del namespace iTextSharp quindi non solo devi correttamente istanziarlo, ma assicurarti che sia installato nel gac del framework o nella sua logica estensione sul webserver (la famosa cartella BIN).

Se usi VS.NET puoi facilmente istanziarla usando Reference > Add Reference (nel menu contestuale)

francescoteresa Profilo | Newbie

ciao Valerio,
è proprio quello che avevo pensato, ossia la posizione giusta della dll.
Io le due librerie che sono scritte nell'articolo, le ho inseritenella cartella BIN, ma purtroppo non funge.
Pensa che ho provato a togliere i namespace all'inizio de codice e mi da lo stesso errore quindi vuol dire che non trova il namespace.
Come devo fare? Io non ho VS.NET.
Grazie mille

francescoteresa Profilo | Newbie

Ragazzi nessuno mi aiuta?
Come faccio a inserire i namespace?

francescoteresa Profilo | Newbie

Ciao ragazzi,
fortunatamente ho risolto il problema.
La cartella BIN deve essere una sortocartella del file ASPX che ne fa uso. Io invece copiavo le dll nella cartella BIN del framework.
Grazie a tutti,
francesco

Brainkiller Profilo | Guru

No no, mica la Bin del Framework, devi copiarlo nella Bin della tua Web Application, e beh, questa è una cosa basilare parte dei fondamentali di programmazione .NET. Bisogna studiare di più! :)
Ciao

David

fguida Profilo | Expert

Ciao raga...
sto cercando di utilizzare anche io l'esempio riportato: ho scaricato le due .dll, ed importate nella mia webApplicatio;
un problema che trovo immediatamente è il seguente:

non mi permette di fare "PdfWriter.getInstance()"...

Premetto che mi sto muovendo con non poche difficoltà..
Grazie

Francesco

memmo77 Profilo | Expert

come gli passo un formato html?
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-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5