4
Answers

Export View to PDF in MVC

Hi,
I have a view which is binded by a model.Here actually my requirement to export that particular customized view with data should be printed in pdf,but on click of a link of each row in index view it should print pdf without going to view.
As of now I want to print the view in pdf.Please help me on this,I am using aspx view engine for this.
 
Please find the below code in view.
<input type="submit" value="Export" />
<div id="divExport">
<table style="width:100%">
<tr><td><b>Shipper No</b></td><td><%:Html.TextBoxFor(model=>model.ShipperNo) %></td><td></td><td></td><td><b>Attention</b></td><td><%:Html.TextBoxFor(model => model.AttentionTo)%></td></tr>
<tr><td><b>Date</b></td><td><%:Html.TextBoxFor(model => model.Date)%></td><td><b>Submitted Date</b></td><td><%:Html.TextBoxFor(model => model.SubmittedDate)%></td><td>Location</td><td><%:Html.TextBoxFor(model => model.Location)%></td></tr>
<tr><td><b>Shipper Type</b></td><td><%:Html.TextBoxFor(model => model.ShipperType)%></td><td> </td><td></td><td>Address</td><td><%:Html.TextBoxFor(model => model.Address)%></td></tr>
<tr><td><b>Order Completed</b></td><td><%:Html.TextBoxFor(model => model.OrderCompleted)%></td><td> </td><td> </td><td>City/State/Zip</td><td><%:Html.TextBoxFor(model => model.City_State_Zip)%></td></tr>
<tr><td><b>GEE Program No</b></td><td><%:Html.TextBoxFor(model => model.GEEProgramNo)%></td><td><b>WBS No</b></td><td><%:Html.TextBoxFor(model => model.WBSNo)%> </td><td> </td><td> </td></tr>
<tr><td><b>Customer No</b></td><td><%:Html.TextBoxFor(model => model.CustomerNo)%></td><td><b>OUC</b></td><td><%:Html.TextBoxFor(model => model.OUCNo)%> </td><td> </td><td> </td></tr>
<tr style="width:100%"><td style="width:100%"><b>Comment</b></td><td><%:Html.TextAreaFor(model => model.CustomerNo, new { })%></td></tr>
</table>
<table style="width:100%">
<tr><th><b>ECS ID</b></th><th><b>Part No</b></th><th><b>Serial No</b></th><th><b>Buffers</b></th><th><b>Buffer Part No</b></th><th><b>Buffer Serial No</b></th><th><b>Part Name</b></th><th><b>Amount(In Dollars)</b></th></tr>
<% foreach (var item in Model.ShipDetails)
{%>
<tr><td><%:item.ECSID %></td>
<td><%: item.PartNo %></td>
<td><%: item.SerialNo %></td>
<td><%: item.Buffers %></td>
<td> <%: item.BufferPartNo %></td>
<td> <%: item.BufferSerialNo %></td>
<td> <%: item.PartName %></td>
<td> <%: item.Amount %></td></tr>
<% } %>
</table>
<table style="width:100%">
<tr><td><b>Shipper:</b></td></tr>
<tr><td><b>Print Name:______Logging in (person)___ Signature:_________________________________ Date:___________</b></td></tr>
<tr><td><b>Receiver:</b></td></tr>
<tr><td><b> Print Name:____________________________ Signature: _____________________________________ Date:_____________</b></td></tr>
</table>
</div>
<% }%>
 
 
 

Answers (4)

0
Photo of Anupama Singh
NA 145 119k 15y
i call applet at master page

  <applet style="margin-top: 0px" height="20" width="950" align="top" code="Ticker.class"
                        codebase="abcd ">
                        <param name="BUTTONLAYOUT" value="links" />
                        <param name="YKORR" value="0" />
                                    
                     
                        <param name="BUTTON3ANZEIGEN" value="0" />
                        <param name="BUTTON4ANZEIGEN" value="0" />
                        <param name="BUTTON5ANZEIGEN" value="0" />
                        <param name="DELAY" value="15" />
                    
                      
                        <param name="IDLE" value="60" />
                        <param name="RICHTUNG" value="LINKS" />
                        <param name="TICKERDATEI" value="path of text file" />
                        <param name="BMP_LINKS" value="" />
                        <param name="BMP_RECHTS" value="" />
                        <param name="BMP_GO" value="" />
                        <param name="BMP_STOP" value="" />
                        <param name="BMP_HOCH" value="" />
                    ..................................
................................
                      
                    </applet>
0
Photo of Niradhip Chakraborty
NA 6.5k 527k 15y
I think if you can do it by manually then using that code also it should work.
Probably I need to check your pageload code.....
0
Photo of Anupama Singh
NA 145 119k 15y
no
0
Photo of Niradhip Chakraborty
NA 6.5k 527k 15y
Are you facing any problem to refresh the page with that code?
0
Photo of Anupama Singh
NA 145 119k 15y
i used this but problem is still same.........
0
Photo of Niradhip Chakraborty
NA 6.5k 527k 15y

If you made any changes in textfile you need to refresh the page because the page is loaded before with old set of data. If you made any changes in textfile it will not aware of that untill you refresh it manually.
You can use the folllowing code in <head></head> tag to refresh the page automatically.
<head id="Head1" runat="server">
   
    <meta http-equiv="Refresh" content="5">
</head>

Note: I have given content value is 5. So after every 5 second it will refresh the page. You can increase or decrease the time frame.
0
Photo of Anupama Singh
NA 145 119k 15y
i tried it but not solved.
actually i use applet for ticker.
data in ticker coming from text file when i make changes in text file chnaged data not reflecting immediately it reflected after browser refresh.
0
Photo of Niradhip Chakraborty
NA 6.5k 527k 15y

Try this code to clear the cache:
Response.Cache.SetCacheability(
HttpCacheability.NoCache);
Response.Expires = 0;
Response.ExpiresAbsolute =
Convert.ToDateTime(DateTime.Today.AddDays(-1));
Response.AddHeader(
"pragma", "no-cache");
Response.AddHeader(
"cache-control", "private");
Response.CacheControl =
"no-cache";
0
Photo of rajesh rajesh
NA 2 0 15y
use Timer to overcome this problem.

void Timer_Tick()
{
call the function to be refreshed.
}

put the Ticker control in the Update Panel and write the code to be refreshed in the Timer Tick event as shown above.

your problem will get solved.