Générer un PDF avec iTextSharp
Je suis en train d'ajouter une image en haut de chaque page dans un fichier PDF existant. J'ai essayé d'utiliser PdfStamp mais pour une raison quelconque, quand j'essaie d'imprimer le fichier pdf à partir de Chrome tout ce que j'obtiens est une page noire. Aussi Adobe Reader ne montre que le document original. Quelqu'un a une idée sur comment le faire fonctionner? Voici le code.
public partial class MakePdf : System.Web.UI.Page
{
public MemoryStream m = new MemoryStream();
protected void Page_Load(object sender, EventArgs e)
{
Document document = new Document(PageSize.LETTER);
Response.ContentType = "application/pdf";
string RESULT = @"C:\Users\maitchison\Documents\Pdf\Service Report Search - 650-10-067 4114.pdf";
PdfReader reader = new PdfReader(RESULT);
PdfStamper stamp = new PdfStamper(reader, m);
try
{
//Set ContentType and create an instance of the Writer.
Response.ContentType = "application/pdf";
PdfWriter writer = PdfWriter.GetInstance(document, m);
writer.CloseStream = false;
//Open Document
document.Open();
int n = reader.NumberOfPages;
int i = 1;
PdfContentByte cb = writer.DirectContent;
PdfContentByte over;
Barcode128 barcode128 = new Barcode128();
string text2 = "650-M5-013";
barcode128.Code = text2;
barcode128.ChecksumText = true;
float x = document.Right;
float y = document.Top;
iTextSharp.text.Image img2 = barcode128.CreateImageWithBarcode(cb, null, null);
img2.SetAbsolutePosition((x - img2.ScaledWidth), (y - img2.ScaledHeight));
while (i <= n)
{
over = stamp.GetOverContent(i);
over.AddImage(img2);
i++;
}
}
catch (DocumentException ex)
{
Console.Error.WriteLine(ex.StackTrace);
Console.Error.WriteLine(ex.Message);
}
//Close document
stamp.Close();
//document.Close();
//Write pdf bytes to outputstream.
Response.OutputStream.Write(m.GetBuffer(), 0, m.GetBuffer().Length);
Response.OutputStream.Flush();
Response.OutputStream.Close();
m.Close();
}
}
}
source d'informationauteur MattAitchison
Vous devez vous connecter pour publier un commentaire.
l'exemple de code que vous avez fourni même sortie un fichier PDF? on dirait que vous avez essayé un certain nombre de façons différentes pour ajouter l'image de code à barres et a terminé avec un excédent de code que confondre les choses...il me confond 😉
de toute façon, voici un moyen pour atteindre votre objectif avec PdfStamper comme vous essayé; exemple Gestionnaire HTTP (.ashx):
évidemment, vous devez changer PATH_TO_PDF ci-dessus pour le chemin d'accès réel de la PDF. il ya aussi d'autres façons d'atteindre le même objectif. par exemple à l'aide de PdfPageEventHelper.
prendre un coup d'oeil à ce;
http://www.mikesdotnetting.com/Article/87/iTextSharp-Working-with-images
Aussi ce pour tous les itextsharp postes connexes;
http://www.mikesdotnetting.com/Category/20