ITextSharp

venerdì 02 settembre 2011 - 11.05

LuigiJin9 Profilo | Newbie

Salve, devo creare un Pdf dinamico partendo da un modulo standard,sto utilizzando le librerie di iTextSharp, i dati da inserire nel file pdf vengono presi da un db.
Per quanto riguarda la sostituzione di campi "unici" tipo rag sociale, indirizzo ecc. nn ho nessun problema.
Il mio problema invece riguarda la sostituzione di un campo codice articolo che si ripete n volte, come posso replicare quel campo? Grazie


using System;
using System.Configuration;
using System.Collections;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.IO;
using System.Text;
using System.Xml.Linq;
using iTextSharp.text;
using iTextSharp.text.pdf;
using iTextSharp.text.api;
using System.Data.OleDb;



public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}
protected void Button1_Click(object sender, EventArgs e)
{


string pdfTemplate = @"G:\Siti Web\Pdf\pdf\Modulo.pdf";
string newFile = @"G:\Siti Web\Pdf\pdf\schedaNew.pdf";

PdfReader pdfReader = new PdfReader(pdfTemplate);
PdfStamper pdfStamper = new PdfStamper(pdfReader, new FileStream(newFile, FileMode.Create));
AcroFields pdfFormFields = pdfStamper.AcroFields;

pdfFormFields.SetField("txtRagSocOfficina", "Ragione Sociale");
pdfFormFields.SetField("txtIndOfficina", "Indirizzo");
pdfFormFields.SetField("txtTelOfficina", "Telefono");
pdfFormFields.SetField("txtFaxOfficina", "Fax");
pdfFormFields.SetField("txtPartIvaOfficina", "Partita Iva");
pdfFormFields.SetField("txtCodFiscaleOfficina", "Codice Fiscale");

for (int i = 0; i < 10; i++) ;
{
pdfFormFields.SetField("txtProva", "Codice Fiscale");
}
pdfStamper.FormFlattening = true;
pdfStamper.Close();



}
}

Gluck74 Profilo | Guru

per quanto mi ricordo...... (ho usato parecchio tempo fa un modulo PDF)
tu puoi assegnare da codice, dei valori a dei "contenitori" già presenti nel file pdf, creato appositamente.
quindi nessun problema per txtRagSocOfficina, txtIndOfficina, txtTelOfficina, ecc. (che presumo siano dentro il template)

Per quanto riguarda il resto, dovresti prima creare (se si può), il contenitore, e poi fare il SetFiels (ini pratica il campo txtprova non esiste).

Controlla la documentazione e verifica se puoi creare nuovi campi dinamicamente dentro un file.

Ciao

____________
Ricordati di utilizzare il tasto "Accetta" se i nostri consigli ti sono serviti a risolvere il problema.
È il modo per ringraziare chi ti ha aiutato.
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-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5