2014-12-28 9 views
1

Я пытаюсь преобразовать веб-страницу в pdf. Теперь я могу преобразовать его уже, но этот файл не такой же на веб-странице. Как получить его как веб-страницу? Я использую pechkin.dll для преобразования веб-страницы в pdf. Пожалуйста, помогите и спасибо вам большое.Как конвертировать полную веб-страницу с помощью css в pdf-файл с pechkin в asp.net?

это ссылка, чтобы увидеть мое изображение (WebForm), потому что мой reoutation < 10, так что я не могу опубликовать изображение, пожалуйста, перейдите по ссылке, чтобы увидеть изображение

http://image.ohozaa.com/view2/y3M1nVkSkXOxdIRc 

И это PDF файл, когда я конвертированы (ссылка изображение), потому что мой reoutation < 10, так что я не могу опубликовать изображение, пожалуйста, перейдите по ссылке, чтобы увидеть изображение

http://image.ohozaa.com/view2/y3M2BMMP1aEvvLcG 

это мой codebehide

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Net; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using Pechkin; 

namespace PechkinTest 
{ 
public partial class WebForm1 : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 

    } 

    protected void btn_export_Click(object sender, EventArgs e) 
    { 

      var client = new WebClient(); 
      String url = Request.Url.AbsoluteUri; 
      String html = client.DownloadString(url); 

      #region Transform the HTML into PDF 

      var pechkin = Factory.Create(new GlobalConfig()); 
      var pdf = pechkin.Convert(new ObjectConfig() 
            .SetLoadImages(true).SetZoomFactor(1.5) 
            .SetPrintBackground(true) 
            .SetScreenMediaType(true) 
            .SetCreateExternalLinks(true) 
            //.SetIntelligentShrinking(true).SetCreateInternalLinks(true) 
            .SetPageUri(url)); 

      #endregion 

      #region Return the pdf file 

      Response.Clear(); 

      Response.ClearContent(); 
      Response.ClearHeaders(); 

      Response.ContentType = "application/pdf"; 
      Response.AddHeader("Content-Disposition", string.Format("attachment;filename=test.pdf; size={0}", pdf.Length)); 
      Response.BinaryWrite(pdf); 

      Response.Flush(); 
      Response.End(); 

      #endregion 

    } 
} 
} 

и это мой код в ASPX

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="PechkinTest.WebForm1" %> 

<!DOCTYPE HTML> 
<!-- 
    Iridium by TEMPLATED 
    templated.co @templatedco 
    Released for free under the Creative Commons Attribution 3.0 license (templated.co/license) 
--> 
<html> 
<head> 
    <title>Iridium by TEMPLATED</title> 
    <meta http-equiv="content-type" content="text/html; charset=utf-8" /> 
    <meta name="description" content="" /> 
    <meta name="keywords" content="" /> 
    <link href='http://fonts.googleapis.com/css?family=Arimo:400,700' rel='stylesheet' type='text/css'> 
    <!--[if lte IE 8]><script src="js/html5shiv.js"></script><![endif]--> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
    <script src="http://localhost:63856/js/skel.min.js"></script> 
    <script src="http://localhost:63856/js/skel-panels.min.js"></script> 
    <script src="http://localhost:63856/js/init.js"></script> 
    <noscript> 
     <link href="http://localhost:63856/css/skel-noscript.css" rel="stylesheet" /> 
     <link href="http://localhost:63856/css/style.css" rel="stylesheet" /> 
     <link href="http://localhost:63856/css/style-desktop.css" rel="stylesheet" /> 
    </noscript> 
    <!--[if lte IE 8]><link rel="stylesheet" href="css/ie/v8.css" /><![endif]--> 
    <!--[if lte IE 9]><link rel="stylesheet" href="css/ie/v9.css" /><![endif]--> 
</head> 

<body class="homepage"> 
    <form id="form1" runat="server"> 
    <!-- Header --> 
    <div id="header"> 
     <div class="container"> 

      <!-- Logo --> 
      <div id="logo"> 
       <h1><a href="#">Iridium</a></h1> 
       <span>Design by TEMPLATED</span> 
      </div> 

      <!-- Nav --> 
      <nav id="nav"> 
       <ul> 
        <li class="active"><a href="index.html">Homepage</a></li> 
        <li><a href="left-sidebar.html">Left Sidebar</a></li> 
        <li><a href="right-sidebar.html">Right Sidebar</a></li> 
        <li><a href="no-sidebar.html">No Sidebar</a></li> 
        <li><asp:Button ID="btn_export" Text="Get PDF File" runat="server" OnClick="btn_export_Click" /></li> 
       </ul> 
      </nav> 
     </div> 
    </div> 

    <!-- Main --> 
    <div id="main"> 
     <div class="container"> 
      <div class="row"> 

       <!-- Content --> 
       <div id="content" class="8u skel-cell-important"> 
        <section> 
         <header> 
          <h2>Welcome to Iridium!</h2> 
          <span class="byline">Integer sit amet pede vel arcu aliquet pretium</span> 
         </header> 
         <a href="#" class="image full"><img src="images/pic07.jpg" alt="" /></a> 
         <p>This is <strong>Iridium</strong>, a responsive HTML5 site template freebie by <a href="http://templated.co">TEMPLATED</a>. Released for free under the <a href="http://templated.co/license">Creative Commons Attribution</a> license, so use it for whatever (personal or commercial) &ndash; just give us credit! Check out more of our stuff at <a href="http://templated.co">our site</a> or follow us on <a href="http://twitter.com/templatedco">Twitter</a>.</p> 
         <p>Sed etiam vestibulum velit, euismod lacinia quam nisl id lorem. Quisque erat. Vestibulum pellentesque, justo mollis pretium suscipit, justo nulla blandit libero, in blandit augue justo quis nisl. Fusce mattis viverra elit. Fusce quis tortor. Consectetuer adipiscing elit. Nam pede erat, porta eu, lobortis eget lorem ipsum dolor.</p> 
        </section> 
       </div> 

       <!-- Sidebar --> 
       <div id="sidebar" class="4u"> 
        <section> 
         <header> 
          <h2>Pellentesque vulputate</h2> 
         </header> 
         <ul class="style"> 
          <li> 
           <p class="posted">August 11, 2002 | (10) Comments</p> 
           <img src="images/pic04.jpg" alt="" /> 
           <p class="text">Nullam non wisi a sem eleifend. Donec mattis libero eget urna. Pellentesque viverra enim.</p> 
          </li> 
          <li> 
           <p class="posted">August 11, 2002 | (10) Comments</p> 
           <img src="images/pic05.jpg" alt="" /> 
           <p class="text">Nullam non wisi a sem eleifend. Donec mattis libero eget urna. Pellentesque viverra enim.</p> 
          </li> 
          <li> 
           <p class="posted">August 11, 2002 | (10) Comments</p> 
           <img src="images/pic06.jpg" alt="" /> 
           <p class="text">Nullam non wisi a sem eleifend. Donec mattis libero eget urna. Pellentesque viverra enim.</p> 
          </li> 
         </ul> 
        </section> 
       </div> 
      </div> 
     </div> 
    </div> 

    <!-- Footer --> 
    <div id="featured"> 
     <div class="container"> 
      <div class="row"> 
       <div class="4u"> 
        <h2>Aenean elementum facilisis</h2> 
        <a href="#" class="image full"><img src="images/pic01.jpg" alt="" /></a> 
        <p>Nullam non wisi a sem semper eleifend. Donec mattis libero eget urna. Donec leo, vivamus fermentum nibh in augue praesent a lacus at urna congue rutrum. Quisque dictum. Pellentesque viverra vulputate enim.</p> 
        <p><a href="#" class="button">More Details</a></p> 
       </div> 
       <div class="4u"> 
        <h2>Fusce ultrices fringilla</h2> 
        <a href="#" class="image full"><img src="images/pic02.jpg" alt="" /></a> 
        <p>Nullam non wisi a sem semper eleifend. Donec mattis libero eget urna. Donec leo, vivamus fermentum nibh in augue praesent a lacus at urna congue rutrum. Quisque dictum. Pellentesque viverra vulputate enim.</p> 
        <p><a href="#" class="button">More Details</a></p> 
       </div> 
       <div class="4u"> 
        <h2>Etiam rhoncus volutpat erat</h2> 
        <a href="#" class="image full"><img src="images/pic03.jpg" alt="" /></a> 
        <p>Nullam non wisi a sem semper eleifend. Donec mattis libero eget urna. Donec leo, vivamus fermentum nibh in augue praesent a lacus at urna congue rutrum. Quisque dictum. Pellentesque viverra vulputate enim.</p> 
        <p><a href="#" class="button">More Details</a></p> 
       </div> 
      </div> 
     </div> 
    </div> 


    <!-- Footer --> 
    <div id="footer"> 
     <div class="container"> 
      <div class="row"> 
       <div class="4u"> 
        <section> 
         <h2>Latest Posts</h2> 
         <ul class="default"> 
          <li><a href="#">Pellentesque lectus gravida blandit</a></li> 
          <li><a href="#">Lorem ipsum consectetuer adipiscing</a></li> 
          <li><a href="#">Phasellus nibh pellentesque congue</a></li> 
          <li><a href="#">Cras vitae metus aliquam pharetra</a></li> 
          <li><a href="#">Maecenas vitae orci feugiat eleifend</a></li> 
         </ul> 
        </section> 
       </div> 
       <div class="4u"> 
        <section> 
         <h2>Ultrices fringilla</h2> 
         <ul class="default"> 
          <li><a href="#">Pellentesque lectus gravida blandit</a></li> 
          <li><a href="#">Lorem ipsum consectetuer adipiscing</a></li> 
          <li><a href="#">Phasellus nibh pellentesque congue</a></li> 
          <li><a href="#">Cras vitae metus aliquam pharetra</a></li> 
          <li><a href="#">Maecenas vitae orci feugiat eleifend</a></li> 
         </ul> 
        </section> 
       </div> 
       <div class="4u"> 
        <section> 
         <h2>Aenean elementum</h2> 
         <ul class="default"> 
          <li><a href="#">Pellentesque lectus gravida blandit</a></li> 
          <li><a href="#">Lorem ipsum consectetuer adipiscing</a></li> 
          <li><a href="#">Phasellus nibh pellentesque congue</a></li> 
          <li><a href="#">Cras vitae metus aliquam pharetra</a></li> 
          <li><a href="#">Maecenas vitae orci feugiat eleifend</a></li> 
         </ul> 
        </section> 
       </div> 
      </div> 
     </div> 
    </div> 

    <!-- Copyright --> 
    <div id="copyright"> 
     <div class="container"> 
      Design: <a href="http://templated.co">TEMPLATED</a> Images: <a href="http://unsplash.com">Unsplash</a> (<a href="http://unsplash.com/cc0">CC0</a>) 
     </div> 
    </div> 
    </form> 
</body> 
</html> 
+0

Почему все ваши ссылки на страницах CSS внутри тега noscript? – ChrisV

+0

спасибо вам большое –

ответ

0

Печкин делает HTML, точно так же, а (WebKit) Веб-страница будет. Смысл важно, чтобы все ссылки на CSS и JS (связанные с отображением интерфейса) были правильно указаны.

0

Я предлагаю вам создать веб-страницу, отображающую то, что вы хотите напечатать, и поместить ее в известное место в своем веб-приложении.

Затем используйте URL-адрес подпрограмм Вторчинки (те, которые я использую), чтобы указать путь к вашей странице печати.

Сервер выполнит весь рендеринг и отправит его в подпрограммы tuespechkin (те, которые я использую), так же, как пользователь получит результат, если он непосредственно вызывает страницу процедуры печати.

Это позволяет избежать большинства проблем с предоставлением этого программного обеспечения htmltopdf.

Я просто использую страницу печати, и получаю вывод точно так, как хочу.

Я бы также рекомендовал вам переключиться на Вторпечкин, потому что он был недавно обновлен.