PDF格式的打印页面

时间:2009-09-02 23:30:43

标签: asp-classic

我想为我的网站提供PDF格式的打印机友好功能。我正在使用asp经典。我怎样才能做到这一点?需要建议。感谢..

4 个答案:

答案 0 :(得分:1)

如果您的内容是静态的,只需链接到PDF即可 如果您的内容是动态的,您可以:

  • 添加一个链接,该链接呈现与原始页面相同的内容,但具有减少的样式和图形信息。然后只需在页面中添加以下脚本:

    < script language ='javascript'type ='application / javascript'>
    window.onload = function(){window.print();};
    < /脚本>

  • 在服务器中安装PDF Writer,并制作页面的PDF版本。由于对“打印机友好”版本的每个请求都将启动组件并进行打印,因此执行起来会非常糟糕。如果您仍然需要这样做,我可以推荐bioPDF。只需获取您生成的HTML文本,将其另存为服务器上的文件,然后从其ActiveX接口运行bioPDF,从html文件生成PDF版本。

答案 1 :(得分:1)

您可以使用ABCpdf(免费使用linkBack程序)从HTML页面生成PDF(查找ASP经典版本)。

就我而言,我在导出之前将CSS更改为更多打印机/ PDF友好版本。

以下是我使用的代码:

function CrearPDF( URL, FileName )
    dim theDoc, theID, iAux
    on error resume next

    set theDoc = Server.CreateObject("ABCpdf4.Doc")
    theDoc.Rect.Inset 20, 10

    theID = theDoc.AddImageUrl(URL, True, 0, False)

    do
        If (theDoc.GetInfo(theID, "Truncated") <> "1") Then Exit Do

        theDoc.Page = theDoc.AddPage()
        theID = theDoc.AddImageToChain(theID)
    loop

    For iAux = 1 To theDoc.PageCount
        theDoc.PageNumber = iAux
        theDoc.Flatten
    Next

    theDoc.Save Server.MapPath("../temp/") + "\" + FileName

    Set theDoc = Nothing

    if err.number <> 0 then
        CrearPDF = false
    else
            CrearPDF = true
        Call OutputFile( Server.MapPath("../temp/"), nombreArchivo  )
    end if
end function

答案 2 :(得分:0)

什么是“PDF格式的打印机友好功能”?如果您指的是允许人们打印或导出/打印到PDF的打印机友好格式,那么您只需要使用一些CSS。这是所有客户端编程,与您的服务器端语言无关。

答案 3 :(得分:0)

如果我正在编写书本式内容 - 例如用户手册 - 并且想要HTML和PDF,我使用DocBook。这是一种类似于HTML的XML语言,您可以从中获取HTML,PDF和其他此类输出格式。有许多可用的工具链。 DocBook最适合于高度结构化的内容,而不需要很多花哨的格式化。

如果您的网站在图形设计上很重,那么库存DocBook样式表将不会非常有用,因为它们适用于普通的香草格式。但是,您可以使用XSLT编写自己的样式表。从XML到HTML非常简单。对于PDF方面,您可以使用像InDesign这样的页面布局程序,它知道如何导入XML,解析它并将内容倾注到现有布局中。我最近听到某人做了这件事,所以他们可以在一个地方更改他们网站的文本,然后生成HTML和PDF版本。