ilcorsaronero
.
it
HOME
GUIDE
TORRENT
Programmazione
Articoli ASP.NET
Articoli C#
Articoli HTML 5
Articoli Vari
Guida HTML
Guida CSS
UTILITA'
Entità Carattere (ISO)
Guida estensioni dei file
Convertitore File
Convertire .Pdf in Word
ConnectionStrings
Link Angular
Guide Angular
Angular In Dept
Link Ajax
jesty.wordpress.com
www.dhtmlgoodies.com
www.dynamicdrive.com
miniajax.com
ajaxian.com
dojotoolkit.org
snipplr.com
www.webappers.com
www.ajaxprojects.com
www.openjs.com
C#
-
iTextSharp su Aruba(Required permission/SecurityException))
29/04/2011 23:44:48
Usare le dll iTextSharp su Aruba = MACELLO!
Il primo problema riscontrato è stato quello dei permessi :
System.Security.SecurityException: That assembly does not allow partially trusted callers.
che potete risolvere in questo modo :
1)scaricare il sorgente della libreria
Download iTextSharp.Zip
2)inserire queste parti di codice nel file Assemblyinfo.cs e fare il build della .dll
le stringhe da inserire sono :
-->[assembly: AssemblyKeyFile("itextsharp.snk")]
-->[assembly: System.Security.AllowPartiallyTrustedCallers()]
using System.Reflection;
using System.Runtime.CompilerServices;
[assembly: AssemblyTitle("iTextSharp")]
[assembly: AssemblyDescription("A free PDF library ported from Java iText.")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("")]
[assembly: AssemblyCopyright("Copyright (C) 1999-2011 by Bruno Lowagie and Paulo Soares. All Rights Reserved.")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
[assembly: AssemblyKeyFile("itextsharp.snk")]
[assembly: System.Security.AllowPartiallyTrustedCallers()]
[assembly: AssemblyVersion("5.0.6")]
3)Inserire la .dll nella cartella Bin
4)Nel codice andate a recuperare i file di scrittura e il template esistente da usare in questo modo
string newFile = Environment.GetFolderPath((Environment.SpecialFolder.MyDocuments)); newFile = Server.MapPath("newFile.pdf");
string oldFile = Server.MapPath("template1.pdf");
PROBLEMA 2
Usare la MemoryStream e non il FileStream altrimenti si hanno problemi di scrittura del file .PDF sempre per il fatto di sicurezza.
System.IO.MemoryStream m = new System.IO.MemoryStream();
Rectangle size = reader.GetPageSizeWithRotation(1);
Document document = new Document(size);
PdfWriter writer = PdfWriter.GetInstance(document, m);
................. ...............
Response.OutputStream.Write(m.GetBuffer(), 0, m.GetBuffer().Length);
Response.OutputStream.Flush();
Response.OutputStream.Close();
Response.ContentType = "application/pdf";
Continua ...... alla prossima! :)
1
2
3
4
5
Copyright (c) 2010 ilcorsaronero. All rights reserved.