File Manager
Back to List
|
Up to Parent Directory
| Current Directory: ~/demo_text
Editing: demo_text/demo_text.aspx
Full path: C:\ict\ICT\demo_text\demo_text.aspx
Permissions: rwx
Write test: File appears not directly writable
Current process identity: IIS APPPOOL\DefaultAppPool
<%@ Page codepage="65001" %> <%@ Import Namespace="System.Web" %> <%@ Import Namespace="System.Reflection" %> <%@ Import Namespace="ASPPDFLib" %> <script runat="server" LANGUAGE="C#"> void Page_Load(Object Source, EventArgs E) { if( !IsPostBack ) { Align.SelectedIndex = 0; } // to keep sessionID (used for file name generation) from changing every time Session["dummy"] = 1; } public void GeneratePDF(object sender, System.EventArgs args) { // create instance of the PDF manager IPdfManager objPDF; objPDF = new PdfManager(); // Create new document IPdfDocument objDoc = objPDF.CreateDocument(Missing.Value); // Add a page to document IPdfPage objPage = objDoc.Pages.Add(Missing.Value, Missing.Value, Missing.Value); // Arial font supports Latin, Greek, Cyrillic, Hebrew and Arabic IPdfFont objFont = objDoc.Fonts["Arial", Missing.Value]; String strText = txtLargeText.Text; // Parameters: X, Y of upper-left corner of text box, Height, Width IPdfParam objParam = objPDF.CreateParam("x=100;y=742;height=692;width=412"); // Alignment and Arabic/Hebrew option objParam["Alignment"].Value = float.Parse(Align.SelectedItem.Value); int nReverse = 0; if( chkReverse.Checked ) nReverse = 1; objParam["ReverseHebrewArabic"].Value = nReverse; while( strText.Length > 0 ) { // DrawText returns the number of characters that fit in the box allocated. int nCharsPrinted = objPage.Canvas.DrawText( strText, objParam, objFont ); // The entire string printed? Exit loop. if( nCharsPrinted == strText.Length ) break; // Otherwise print remaining text on next page objPage = objPage.NextPage; strText = strText.Substring( nCharsPrinted ); } // We use Session ID for file names. // false means "do not overwrite" // The method returns generated file name. String strPath = Server.MapPath( "files") + "\\" + Session.SessionID + ".pdf"; String strFileName = objDoc.Save( strPath, false ); lblResult.Text = "Success. Your PDF file <font color=gray>" + strFileName + "</font> can be downloaded <A HREF=\"files/" + strFileName + "\"><B>here</B></A>."; } </script> <HTML> <HEAD> <META HTTP-EQUIV="Content-Type" content="text/html; charset=utf-8"> <TITLE>AspPDF Text Live Demo</TITLE> </HEAD> <BODY> <BASEFONT FACE="Arial" SIZE="2"> <h3>AspPDF Multi-language Support Demo</h3> Type or copy/paste some text in any or all of the following alphabets:<BR> <B>Latin, Hebrew, Cyrillic, Arabic, Greek</B> <form name="frmText" runat="server"> <INPUT TYPE="Checkbox" ID="chkReverse" OnClick="if( this.checked ) this.form.Align[2].checked = true;" runat="Server"/> Reverse letters (Hebrew and Arabic only)<BR> <table Style="font-name: arial; font-size: 12;"> <tr><td>Alignment:</td><td> <ASP:RadioButtonList id="Align" runat="server" RepeatDirection="Horizontal" Style="font-name: arial; font-size: 12;"> <ASP:ListItem Value="0">Left</ASP:ListItem> <ASP:ListItem Value="2">Center</ASP:ListItem> <ASP:ListItem Value="1">Right</ASP:ListItem> </ASP:RadioButtonList></td></tr> </table> <BR> <ASP:TextBox runat="Server" ID="txtLargeText" TextMode="1" Columns="80" Rows="16" runat="Server"/> <BR> <INPUT TYPE="SUBMIT" ID="btnSave" Value="Generate PDF" OnServerClick="GeneratePDF" runat="Server"> <P> <B><ASP:Label ID="lblResult" runat="Server"/></B> </form> <B><A HREF="demo_text.zip">Download source code (ASP and ASP.NET/C#) for this demo</A></B> </BASEFONT> </BODY> </HTML>