posts - 200,  comments - 1420,  trackbacks - 6
网友来信提出这个需求,看到iText的另外一个版本的教程中有这么个demo,就把它转换成C#,贴出来了,有需要的朋友可以根据自己的需求再进行适当的修改就可以。原java代码见如下地址:
http://itextdocs.lowagie.com/tutorial/directcontent/pageevents/
注,运行下面的程序,你需要个叫logo.gif的图片(http://itextdocs.lowagie.com/tutorial/directcontent/pageevents/logo.gif)

using System;
using iTextSharp.text;
using iTextSharp.text.pdf;
using System.IO;

namespace iTextSharp.Demo
{
    
/// <summary>
    
/// Making a document with a header containing 'page x of y' and with a watermark on every page.
    
/// </summary>

    public class PageNumbersWatermark : IPdfPageEvent
    
{
        
/** An Image that goes in the header. */
        
public Image headerImage;
        
/** The headertable. */
        
public PdfPTable table;
        
/** The Graphic state */
        
public PdfGState gstate;
        
/** A template that will hold the total number of pages. */
        
public PdfTemplate tpl;
        
/** The font that will be used. */
        
public BaseFont helv;

        
public PageNumbersWatermark()
        
{
            
try 
            
{
                
// step 1: creating the document
                Document doc = new Document(PageSize.A4, 505010072);
                
// step 2: creating the writer
                
                PdfWriter writer 
= PdfWriter.GetInstance(doc, new FileStream("pageNumbersWatermark.pdf",FileMode.Create));
                
// step 3: initialisations + opening the document
                writer.PageEvent =new PageNumbersWatermark();
                doc.Open();
                
// step 4: adding content
                string text = "some padding text ";
                
for (int k = 0; k < 10++k)
                    text 
+= text;
                Paragraph p 
= new Paragraph(text);
                p.Alignment
=(Element.ALIGN_JUSTIFIED);
                doc.Add(p);
                
// step 5: closing the document
                doc.Close();
            }

            
catch ( Exception e ) 
            
{
                System.Diagnostics.Debug.WriteLine(e.StackTrace);
            }

        }

        
IPdfPageEvent Members
    }

}


更多iTextSharp的教程请访问:
iTextSharp (iText#) tutorial update version,VB.NET version
iTextSharp (iText#) tutorial update version

以上两份教程你可以在http://iTextSharp.sf.net获得:
iTextSharp.tutorial.01.zip 663592 1859 i386 Source .zip
  iTextSharp.tutorial.VB.NET.01.zip 675764 835 i386 Source .zip
posted on 2005-11-16 09:22 RubyPDF 阅读(4570) 评论(5)  编辑 收藏 网摘 所属分类: iTextSharp(iText#)PDF Hacks

FeedBack:
2005-11-16 10:32 | Brian.R.Xu[未注册用户]
把上面的东西改了改,我的问题解决了。万分感谢!!
  回复  引用    
#2楼[楼主]
2005-11-16 11:51 | HardRock      
不必这么客气,很高兴他对你有用。
  回复  引用  查看    
2006-03-29 19:14 | vb[未注册用户]
Hardrock,你好。能否帮我看看表格最后一行的扩展(我要让表格不满整个页面)如何实现?谢谢。
  回复  引用    
2006-07-01 09:31 | nfore[未注册用户]
老大,我只想在网页上显示。PDF文件,用什么控件?不是用IE自动打开那种,我是想对方没有安装显示PDF文档的软件也能在WEB上显示。PDF文档,也不会提示下载。
  回复  引用    
#5楼[楼主]
2006-07-01 09:54 | HardRock      
@nfore
这个只有商业控件能帮你忙了,或者你自己研究下XPDF(C语言),Jpedal(java),Multivalent(java),ghostscript(不支持多线程,但可以把PDF以图片的形式呈现),上面介绍的这些我也不熟悉,所以帮不上你什么,不过顺便说下除了GhostScript有一个Licence可以免费用于商业环境外,其余的都需要付费的,虽然都可以得到源代码.
另外商业版本的你看看pdfgo,它就是通过在线的方式看PDF,不用下载,不用插件(不过好像要求系统至少支持applet,这点XP又不行了)

如果想不用安装任何插件的解决办法就是把PDF转成网页或者图片,不知道是哪个无聊的领导要这种功能,大家看flash在网页上展示挺方便的,似乎不用安装什么,实际上如果不安装插件的话,你能看到什么呢?

  回复  引用  查看    



发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 277417




相关文章:

相关链接:

<2005年11月>
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

与我联系

搜索

 

常用链接

我参与的团队

我的标签

随笔分类(176)

PDF

最新随笔

积分与排名

  • 积分 - 451378
  • 排名 - 70

最新评论

阅读排行榜

评论排行榜