|
I have one form that is built in asp.net containing fields such as name, bank deatils etc.
after filling that online form the user will submit the data and on clicking a button pdf of the whole form filled by the user must be generated.
how can i do this using itext sharp?
also mention another any open source third party tool for this job if available and better than itextsharp??
plz reply ASAP.
|
|
|
|
|
|
k.
can u tell me how can we set the background color of the text written in paragraph
as
Paragraph heading=new paragraph("know your client");
doc.add(heading);
I want to color or highlight the text "know your client"
plz reply
|
|
|
|
|
Know your client
above is demonstration.
<p style="background-color:green;">Know your client</p>
--AP
|
|
|
|
|
k.
Thanks for your continuous replies......
I have written the following code for highlight the text in pdf using itextsharp in asp.net
Know your client ;
but i am getting the error in opening and closing tag of and
the error is expected ;
and also the text know your client error is doesnot exist in current context.
plz reply as soon as possible.
|
|
|
|
|
|
still getting error.
actually i am using asp.net on the click event of a button the pdf will be generated so in code i make a function which will generate a pdf.
errors after placing the code in ""
are:
only assignment,call,increment,decrement and new object expressions can be used as a statement
the name background does not exist in current context.
and many more.
|
|
|
|
|
one more thing i would like to ask.
the pdf generated using itextsharp will be generated to the client when he/she will completed the form filling process then on clicking the generate pdf button the pdf will be generated regarding the details which are fi;;ed by the client.
now i would like to ask is there any need of licence etc to use for itextsharp commericially purpose.
THANKS IN ADVANCE.
plz reply ASAP.
|
|
|
|
|
Member 9798541 wrote: now i would like to ask <layer>is there any need of licence etc to use for itextsharp commericially purpose.
Not a lawyer
but for your Knowledge,Infomation is as below:
iText(iText#)[^] is a free and open source library for creating and manipulating PDF files in C#.version 5.0.0 (released Dec 7, 2009) it is distributed under the Affero General Public License[AGPL] v3.
"Projects that do not want to provide their source code may either purchase a commercial license to iText 5 for an undisclosed price or continue using previous versions of iText under the more liberal license without any changes" that means for using iText v5.0 you have to buy a lisence.However Versions of iText through 4.1.6/4.2.0 were released under the MPL[^] and LGPL[^] licenses, which allowed them to be used in closed-source software projects. check more detail[^]
see terms of use[^]
website for itext[^]
They(itext) pay me from time to time to provide email support.
----
vote if it helps you.
-----
Abhishek Pant
|
|
|
|
|
Member 9798541 wrote: how can i do this using itext sharp?
You should have tried something before posting it. Start from here: Convert text into PDF using ASP.NET and C#[^]. There are more articles on using iTextSharp here on CP itself, just search for it.
Member 9798541 wrote: also mention another any open source third party tool for this job if available and better than itextsharp?
Not that I am aware of.
|
|
|
|
|
aspx
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataKeyNames="UserID" DataSourceID="SqlDataSource1">
<Columns>
<asp:BoundField DataField="UserID" HeaderText="UserID" ReadOnly="True"
SortExpression="UserID" />
<asp:TemplateField HeaderText="Image">
<ItemTemplate>
<asp:Image ID="Image2" runat="server" ImageUrl='<%# "Handler.ashx?UserID="+ Eval("UserID") %>' Height="150px" Width="150px"/>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
_____________________________________________________________________________________________________________________________________________________________
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
SelectCommand="SELECT [UserID], [Image] FROM [Users] WHERE ([UserID] = @UserID)">
<SelectParameters>
<asp:CookieParameter CookieName="userid" DefaultValue="" Name="UserID"
Type="String" />
</SelectParameters>
</asp:SqlDataSource>
_____________________________________________________________________________________________________________________________________________________________
public class Handler : IHttpHandler
{
string strcon = ConfigurationManager.AppSettings["ConnectionString"].ToString();
public void ProcessRequest(HttpContext context)
{
string imageid = context.Request.QueryString["UserID"];
SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
connection.Open();
SqlCommand command = new SqlCommand("select UserID,Image FROM Users where UserID=" + imageid, connection);
SqlDataReader dr = command.ExecuteReader();
dr.Read();
// context.Response.BinaryWrite((Byte[])dr[0]);
context.Response.BinaryWrite((Byte[])dr[dr.GetOrdinal("Image")]);
connection.Close();
context.Response.End();
}
public bool IsReusable
{ ........................ with close properly
_____________________________________________________________________________________________________________________________________________________________
Database
UserID,UserName,Name,Image (UEC80001,Michael,MyName,<Binary data>)(nvarchar(50),nvarchar(50),nvarchar(50),image)
_____________________________________________________________________________________________________________________________________________________________
|
|
|
|
|
Apart from the fact that you're not setting the ContentType[^] of the response, you have a SQL injection vulnerability[^] in your code:
string imageid = context.Request.QueryString["UserID"];
...
new SqlCommand("select UserID,Image FROM Users where UserID=" + imageid, connection);
Anyone with access to your site could call Handler.ashx?UserID=1;DELETE FROM Users; , and your code would happily execute two queries: one to select the image for UserID 1, and one to delete all records from the Users table.
Change your code to use a parameterized query:
public sealed class Handler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
string imageid = context.Request.QueryString["UserID"];
string connectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
using (SqlConnection connection = new SqlConnection(connectionString))
using (SqlCommand command = new SqlCommand("SELECT UserID, Image FROM Users WHERE UserID = @UserID", connection))
{
command.Parameters.AddWithValue("@UserID", imageid);
connection.Open();
using (SqlDataReader dr = command.ExecuteReader(CommandBehavior.CloseConnection))
{
if (!dr.Read()) throw new HttpException(404, "Image not found.");
context.Response.ContentType = "image/jpeg";
context.Response.BinaryWrite((byte[])dr[dr.GetOrdinal("Image")]);
}
}
}
public bool IsReusable
{
get { return true; }
}
}
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
appreciate Richard reply~
<asp:sqldatasource id="SqlDataSource1" runat="server"
="" connectionstring="<%$ ConnectionStrings:ConnectionString %>" selectcommand="SELECT [UserID], [Image] FROM [Users] WHERE ([UserID] = @UserID)">
<SelectParameters>
<asp:cookieparameter cookiename="userid" defaultvalue="" name="UserID"
="" type="String">
</SelectParameters>
i using the cookie to show the particular user image,so at my side should how to call?
<asp:TemplateField HeaderText="Image">
<ItemTemplate>
<asp:Image ID="Image1" runat="server" ImageUrl='<%#"Handler.ashx?UserID=1;"+Eval("UserID")%>' Height="150px" Width="150px"/>
</ItemTemplate>
</asp:TemplateField>
ImageUrl='<%#"Handler.ashx?UserID=1;"+Eval("UserID") can i calling by using cookie? at handler cant request cookie @@ other that this handler have other method to display image?
|
|
|
|
|
If you want to use a cookie instead of a query-string value, change your Image to:
<Image ID="Image1" runat="server" ImageUrl="Handler.ashx" Height="150px" Width="150px"/>
and change the start of the ProcessRequest method to:
var cookie = context.Request.Cookies["userid"];
if (null == cookie) throw new HttpException(404, "Cookie not found.");
string imageid = cookie.Value;
NB: You'll still need to use a parameterized command to avoid SQL injection. Cookie values can be altered by the user almost as easily as query-string values.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
ok thx i try ^^
|
|
|
|
|
sorry for keep on disturb u and thank u very much
By using ImageUrl="Handler.ashx", can show the data on gridview?
i'm first time using handler XD. for me i set the following code at web.config izit correct?
why it will not previous any error message on browser when my handler code got problem.
<system.web>
<httpHandlers>
<add verb="*" path="Handler.ashx" type="ShowImage,System.Web.UI.SimpleHandlerFactory" validate="true" />
</httpHandlers>
<urlMappings enabled="true">
<add url="~/MyProfile.aspx" mappedUrl="~/Handler.ashx"/>
</urlMappings>
</system.web>
The code should be no problem why still cant function, my connection correct ?
public void ProcessRequest(HttpContext context)
{
var cookie = context.Request.Cookies["userid"].Values.ToString();
if (null == cookie) throw new HttpException(404, "Cookie not found.");
string imageid = cookie;
string connectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
using (SqlConnection connection = new SqlConnection(connectionString))
using (SqlCommand command = new SqlCommand("SELECT UserID, Image FROM Users WHERE UserID = @userID", connection))
{
command.Parameters.AddWithValue("@userID", imageid);
connection.Open();
using (SqlDataReader dr = command.ExecuteReader(CommandBehavior.CloseConnection))
{
if (!dr.Read()) throw new HttpException(404, "Image not found.");
context.Response.ContentType = "image/jpeg";
context.Response.BinaryWrite((byte[])dr["Image"]);
}
}
}
|
|
|
|
|
The first lines should be:
var cookie = context.Request.Cookies["userid"];
if (null == cookie) throw new HttpException(404, "Cookie not found.");
string imageid = cookie.Value;
If that still doesn't work, try navigating directly to the handler to see what error it produces.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
how to
navigating directly to the handler ?
|
|
|
|
|
In you web browser, go to the address bar and type in the URL of the handler. The exact URL will depend on your setup; if you're not sure, start with the grid page and replace the "PageName.aspx" with "Handler.ashx" (where "PageName" is the name of your page).
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Hi, I'm Newbie to ASP.Net and looking for a gridview on the page which will allow me to edit the row information on double clicking on the record, but problem is I've a column in that gridview that should display corresponding to that record image. And also I'm unable to display the image. All these data should come from database.And print the data of the gridview. Thank you..
|
|
|
|
|
I am attempting to import an Excel Spreadsheet (2010, XLSX) to Gridview, then upload to MS SQL 2012 database. There are 30,000 rows in spread sheet approximately. When I run it locally it works just fine. When I put it live on the server it doesn't work properly.
When it is importing into the Gridview it stops at a particular row every time. The row is around 21,000. If I delete the top 10,000 rows from spreadsheet it still stops at that same row. So in other words it doesn't matter if I try 21,000 rows or 11,000 rows it stops at that same one. That tells me it isn't a size or time limit. If I delete the top 16,000 rows and the bottom 5,000 rows. It does go past that record. This tells me the next record doesn't have bad data.
So we know it isn't a size / time issue. We know it isn't corrupt data in the next row. We know the code runs fine locally, but not on server.
I have tried this using datasets and datatables and the results are the same.
Connection String:
string myPath1 = @""+Server.MapPath(".") + @"\"+TextBox3.Text;
string strConn = @"provider=microsoft.ace.oledb.12.0;extended properties=""excel 12.0;HDR=YES"";data source="+myPath1+"";
In web.config I have:
<httpRuntime maxRequestLength="72604736"/>
and
<requestLimits maxAllowedContentLength="72604736" />
GridView code:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="True" >
</asp:GridView>
Code behind to fill GridView (DataTable)
OleDbConnection myExcelConn = new OleDbConnection(strConn);
OleDbCommand myExcellComm = new OleDbCommand();
OleDbDataAdapter oda = new OleDbDataAdapter();
DataTable myDT = new DataTable();
myExcellComm.Connection = myExcelConn;
myExcelConn.Open();
myExcellComm.CommandText = query;
oda.SelectCommand = myExcellComm;
oda.Fill(myDT);
myExcelConn.Close();
GridView1.DataSource = myDT;
GridView1.DataBind();
Code behind to fill GridView (DataSet) DataSet excelDataSet = new DataSet(); OleDbDataAdapter da = new OleDbDataAdapter(query, strConn);
da.Fill(excelDataSet);
GridView1.DataSource = excelDataSet;
GridView1.DataBind();
Again doesn't matter if I use DataTable or DataSet it produces the same thing.
I have verified the spreadsheet that gets uploaded does contain all the data. I have tried using FTP instead of file upload and same results. I have downloaded the uploaded excel file and ran it locally and again it works just fine.
Using Visual Web Developer Express 2010 with all Service Packs and Updates in C# local machine - Vista Ultimate with all updates Web server - VPS Windows Server 2012 with all updates and MS SQL 2012 with all updates.
Does anyone have any idea and where I should look next to solve the problem?
|
|
|
|
|
I got it working.
Turns out you need to have IMEX=1 at the end of the connection string.
The complete working connection string will look like:
string strConn = @"provider=microsoft.ace.oledb.12.0;extended properties=""excel 12.0;HDR=YES;IMEX=1;"";data source="+myPath1+"";
|
|
|
|
|
Hi,
I have a website mydomain.com and I have few pages under this domains requires authentication which are the member's area pages but NOT all pages under this domains needs authentication.
I added the following to web.config:
<authentication mode="None">
<forms loginUrl="~/Signin" timeout="2880" />
</authentication>
then in the signin page, i added this:
FormsAuthentication.Authenticate(txtEmailAddress.Text.Trim(), txtPassword.Text);
and the following in the pages where I need it to be authenticated:
if (!HttpContext.Current.User.Identity.IsAuthenticated) FormsAuthentication.RedirectToLoginPage();
when I sign it should go to the home.aspx page where I placed the IsAutehnicated but it's going back to the sign page? why is this?
Regards,
Jassim
Technology News @ www.JassimRahma.com
|
|
|
|
|
This is not the direct answer to this question but looking at this article and the attached source code, I think your problem will be fixed:
Understanding and Implementing ASP.NET Custom Forms Authentication[^]
Twenty years from now you will be more disappointed by the things that you didn't do than by the ones you did do. So throw off the bowlines. Sail away from the safe harbor. Catch the trade winds in your sails. Explore, Dream. Discover.
|
|
|
|
|
I have a local database to check authentication. You may create same database by C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_regsql.exe.
Create any MVC4 application and look _LoginPartial.cshtml file. You will see line @Html.ActionLink"Log in", "Login", "Account", routeValues: null, htmlAttributes: new { id = "loginLink" })1. Set your break point at method “Login” in Account controller.
2. Click in login and you will get exception at Unhandled exception at line 115, column 5 in http://localhost:61841/Scripts/jquery.unobtrusive-ajax.js.
But why it is so? How can I use my local database for authentication?
Why the exception is in javaScript?
Do you an idea how to implement Authentication with local database?
Any help will be appreciated.
Agha Khan
|
|
|
|