VBiB/ACCB.net - Visual Basic in België | .net Ineta User Group  
(login to hide)
Hoofdmenu

Advertenties

Het Computer Winkeltje HCW


Evenementen

Tips en tricks
U bevindt zich > Tips en Tricks > C# > Componenten > PDF > PDF aanmaken op webpagina
Ik wil een tip ingeven

Tip: PDF aanmaken op webpagina
SitSol - 05 Mar 2009 - 09:25

In het forum zag ik een oude post staan met daarop de vraag  'Hoe een pdf te maken op mijn webpagina'.  Er was geen antwoord op gegeven en het onderwerp is reeds gesloten.   Hierdoor wil ik graag via deze weg wijzen op de open source tool PDFsharp , waarmee je kan pdf documenten opmaken, aanpassen en samenvoegen in C#.

Om te starten moeten we eerst de nodige files downloaden van Sourceforge :

http://sourceforge.net/project/showfiles.php?group_id=150343
 

In VS maken we een nieuwe website aan.  De pagina zal bestaan uit een eenvoudige textbox met een button.  De ingevoerde tekst wordt ingevoegd in een pdf document bij een klik op de knop.  Het nieuw aangemaakte document wordt ge-opend in de browser.
 

Vooraleer we kunnen gebruik maken van  PDFsharp moeten we eerst de nodige dll toevoegen aan ons project:

  1. In uw solution explorer rechtsklik op uw website en Add reference.. 
  2. Blader nu naar de map waarin u alles hebt unzipt.
  3. Daarin ga je naar de bin en klik je op PdfSharp.dll

In de onderstaande code heb ik de uitleg in commentaar erbij gevoegd.

Meer voorbeelden vindt u op http://www.pdfsharp.com/PDFsharp/index.php?option=com_content&task=view&id=24&Itemid=35

Uitleg:


DE WEBPAGINA
==========

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server" Text="Uw Tekst: "></asp:Label>
<asp:TextBox
ID="txtMijnTekst" runat="server"></asp:TextBox>
<asp:Button ID="btnMaakPdf" runat="server" Text="Button"
onclick="btnMaakPdf_Click" />
</div>
</form>
</body>
</html>


DE CODE BEHIND FILE
===============

using System;
using System.Collections.Generic;
using System.IO;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

using PdfSharp.Drawing;
using PdfSharp.Pdf;

public partial class _Default : System.Web.UI.Page
{
// hier maken we het nieuwe document aan
private PdfDocument _doc = new PdfDocument();

//We maken een font aan om te gebruiken in de pdf
private XFont _font = new XFont("Verdana", 24, XFontStyle.Bold);

protected void Page_Load(object sender, EventArgs e)
{

}
protected void btnMaakPdf_Click(object sender, EventArgs e) {
string textToDraw = txtMijnTekst.Text;
//Bij het klikken op de knop maken we een pdf pagina aan
PdfPage myPage = _doc.AddPage();

//we hebben een XGraphics object nodig om op de pagina te kunnen schrijven (en tekenen)
XGraphics myXGraph = XGraphics.FromPdfPage(myPage);

//We schrijven de tekst van textBox naar de pagina
myXGraph.DrawString(textToDraw, _font, XBrushes.Green, new XRect(0, 0, myPage.Width, myPage.Height), XStringFormats.Center);

//Send de pdf naar uw browser om te openen
MemoryStream stream = new MemoryStream();
_doc.Save(stream, false);
Response.Clear();
Response.ContentType = "application/pdf";
Response.AddHeader("content-length", stream.Length.ToString());
Response.BinaryWrite(stream.ToArray());
Response.Flush();
stream.Close();
Response.End();

}
}

3072 x gelezen

Commentaar
U dient ingelogd te zijn om commentaar te posten.
 

Er zijn in totaal 102 tips gepost.

 

 
Postnuke - ADODB Database - PHP 4/5 - pnPhpBB2 - Hosting bij Openminds
Met dank aan Jürgen voor de jarenlange inzet van visualbasic.be (anno 21-12-2000)
vbib.be gestart op 1/03/06 (extra vanaf 1/09: vbnet.be en vbdotnet.be)
VBiB is gerelateerd met wintips.be

Nieuwsbrief RSS Feed: backend.php