導航:首頁 > 文檔加密 > cpdf生成

cpdf生成

發布時間:2022-08-07 12:13:07

『壹』 想用C語言編寫生成pdf的程序,苦於沒法入門,有會用PDFlib這個的高手能教我編個最簡單的程序。

sjt_xfwh的回答很對:「要很深厚的數學知識和計算機圖形學的知識,還要加上過硬的編程能力。」我想,除此以外還要掌握很多的資料,特別是PDF若干個版本的詳細格式,這與自身的勤奮努力無關,更不是隨便就能得到的。連北大方正這樣的大公司都不能很好處理這個問題,你的「野心」可真大呀!

『貳』 C#生成PDF頁腳第幾頁共幾頁

我用的是 這個組件來實現的.net生成PDF。首先創建一個工程,然後引用這個組件然後創建一個頁面,添加一個 按鈕然後開始寫後台了。。不多說,直接貼代碼。protected void Button1_Click(object sender, EventArgs e) { PDF(); } private void PDF() { string filePath = "C:\\PDF"; if (false == Directory.Exists(filePath)) Directory.CreateDirectory(filePath); string filename = filePath + "/PDF.pdf";//設置保存路徑 Document doc = new Document(iTextSharp.text.PageSize.A4, 25, 25, 50, 40);//定義pdf大小,設置上下左右邊距 PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream(filename, FileMode.Create));//生成pdf路徑,創建文件流 doc.Open(); writer.PageEvent = new HeaderAndFooterEvent(); HeaderAndFooterEvent.PAGE_NUMBER = true;//不實現頁眉跟頁腳 First(doc, writer);//封面頁 doc.NewPage();//新建一頁 PdfHeader(doc, writer);//在新建的一頁裡面加入數據 HeaderAndFooterEvent.PAGE_NUMBER = false;//開始書寫頁眉跟頁腳 writer.Flush(); writer.CloseStream = true; doc.Close(); } private void PdfHeader(Document doc, PdfWriter writer) { string totalStar = string.Empty; writer.PageEvent = new HeaderAndFooterEvent(); string tmp = "這個是標題"; doc.Add(HeaderAndFooterEvent.InsertTitleContent(tmp)); } private void First(Document doc, PdfWriter writer) { string tmp = "分析報告"; doc.Add(HeaderAndFooterEvent.InsertTitleContent(tmp)); tmp = "(正文 頁,附件 0 頁)"; doc.Add(HeaderAndFooterEvent.InsertTitleContent(tmp)); //模版 顯示總共頁數 HeaderAndFooterEvent.tpl = writer.DirectContent.CreateTemplate(100, 100); //模版的寬度和高度 PdfContentByte cb = writer.DirectContent; cb.AddTemplate(HeaderAndFooterEvent.tpl, 266, 714);//調節模版顯示的位置 }然後再新建一個類 這個類是用來重寫Itext組件的一些方法的。該類要繼承類PdfPageEventHelper和介面IPdfPageEvent然後重寫裡面的方法 public static PdfTemplate tpl = null;//模版 public static bool PAGE_NUMBER = false;//為True時就生成 頁眉和頁腳 iTextSharp.text.Font font = BaseFontAndSize("黑體", 10, Font.NORMAL, BaseColor.BLACK); //重寫 關閉一個頁面時 public override void OnEndPage(PdfWriter writer, Document document) { if (PAGE_NUMBER) { Phrase header = new Phrase("PDF測試生成頁眉分析報告", font); Phrase footer = new Phrase("第" + (writer.PageNumber - 1) + "頁/共 頁", font); PdfContentByte cb = writer.DirectContent; //模版 顯示總共頁數 cb.AddTemplate(tpl, document.Right - 54 + document.LeftMargin, document.Bottom - 8);//調節模版顯示的位置 //頁眉顯示的位置 ColumnText.ShowTextAligned(cb, Element.ALIGN_CENTER, header, document.Right - 140 + document.LeftMargin, document.Top + 10, 0); //頁腳顯示的位置 ColumnText.ShowTextAligned(cb, Element.ALIGN_CENTER, footer, document.Right - 60 + document.LeftMargin, document.Bottom - 10, 0); } } //重寫 打開一個新頁面時 public override void OnStartPage(PdfWriter writer, Document document) { if (PAGE_NUMBER) { writer.PageCount = writer.PageNumber-1; } } //關閉PDF文檔時發生該事件 public override void OnCloseDocument(PdfWriter writer, Document document) { BaseFont bf = BaseFont.CreateFont(@"c:\windows\fonts\SIMYOU.TTF", BaseFont.IDENTITY_H, false); //調用的字體 tpl.BeginText(); tpl.SetFontAndSize(bf, 16);//生成的模版的字體、顏色 tpl.ShowText((writer.PageNumber - 2).ToString());//模版顯示的內容 tpl.EndText(); tpl.ClosePath(); } //定義字體 顏色 public static Font BaseFontAndSize(string font_name, int size, int style, BaseColor baseColor) { BaseFont baseFont; BaseFont.AddToResourceSearch("iTextAsian.dll"); BaseFont.AddToResourceSearch("iTextAsianCmaps.dll"); Font font = null; string file_name = ""; int fontStyle; switch (font_name) { case "黑體": file_name = "SIMHEI.TTF"; break; case "華文中宋": file_name = "STZHONGS.TTF"; break; case "宋體": file_name = "SIMYOU.TTF"; break; default: file_name = "SIMYOU.TTF"; break; } baseFont = BaseFont.CreateFont(@"c:/windows/fonts/" + file_name, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);//字體:黑體 if (style < -1) { fontStyle = Font.NORMAL; } else { fontStyle = style; } font = new Font(baseFont, size, fontStyle, baseColor); return font; } //定義輸出文本 public static Paragraph InsertTitleContent(string text) { iTextSharp.text.Font font = BaseFontAndSize("華文中宋", 16, Font.BOLD,BaseColor.BLACK); //BaseFont bfSun = BaseFont.CreateFont(@"c:\windows\fonts\STZHONGS.TTF", BaseFont.IDENTITY_H, false); //調用的字體 //Font font = new Font(bfSun, 15); Paragraph paragraph = new Paragraph(text, font);//新建一行 paragraph.Alignment = Element.ALIGN_CENTER;//居中 paragraph.SpacingBefore = 5; paragraph.SpacingAfter = 5; paragraph.SetLeading(1, 2);//每行間的間隔 return paragraph; } 好了,大功告成了!!!

『叄』 有沒有關於c#生成pdf方面的書

Csharp寶典_電子工業出版社.pdf
http://www.400gb.com/file/10173874

Visual C#網路編程技術與實踐.pdf
http://www.400gb.com/file/101738834

[Csharp高級編程(第6版)].(美)內格爾.掃描版.pdf
http://www.400gb.com/file/101737130

『肆』 如何用c語言創建pdf文檔

pdf的格式 目前還是不公開的吧
用C語言 創建pdf 這個難度太大了。
基本上做不到的。

『伍』 資料庫及pdf文件輸出

【C++庫】

PDF類庫 PoDoFo
http://podofo.sourceforge.net/
PoDoFo 是一個用來操作 PDF 文件格式的 C++ 類庫。它還包含一些小工具用來解析、修改和創建 PDF 文檔。

Xpdf
http://www.foolabs.com/xpdf/download.html
Xpdf是一個開放源代碼的PDF檔案瀏覽器,Xpdf 可解碼LZW壓縮格式並閱讀加密的PDF文件。

PDF生成工具 Poppler
http://poppler.freedesktop.org/
Poppler 是一個用來生成 PDF 的C++類庫,從xpdf 繼承而來。它使用了很多先進的類庫例如 freetype 和 cairois 來達到更好的輸出效果,同時也提供了一組命令行工具包。

JagPDF
http://www.jagpdf.com/
JagPDF 提供給 C/C++ 和 python 編程語言用來生成 PDF 文檔的庫。

libHaru
http://libharu.org/wiki/Downloads
開源的PDF庫

CLibPDF
http://hpux.connect.org.uk/hppd/hpux/Shells/ClibPDF-2.02/
ClibPDF是C函數庫,可以直接生成PDF文件, 不需要Adobe Acrobat等工具支持.

------------------------------------------------------------------------

java庫】
PDF操作類庫 iText
http://www.lowagie.com/iText/
iText是一個能夠快速產生PDF文件的java類庫。iText的java類對於那些要產生包含文本,表格,圖形的只讀文檔是很有用的。它的類庫尤其與java Servlet有很好的給合。使用iText與PDF能夠使你正確的控制Servlet的輸出。

PDFBox
http://www.pdfbox.org/
非常強悍的PDF生成和解析Java類庫

jpedal
http://www.jpedal.org/
jpedal是開源純Java的PDF文檔解析庫,可以用來讀取PDF文檔中的文字、圖形。

JasperReports
http://jasperforge.org/plugins/project/project_home.php?group_id=102
JasperReports是一個基於Java的開源報表工具,它可以在Java環境下像其它IDE報表工具一樣來製作報表。JasperReports 支持PDF、HTML、XLS、CSV和XML文件輸出格式。JasperReports是當前Java開發者最常用的報表工具。

Fourfive
http://sourceforge.net/projects/fourfive
Fourfive是一個領先的開源Web報表解決方案,使用XML作為它的配置文件。支持集群、負載平衡、動態發布、PDF, Excel, LDAP,圖表、過濾器、排序、布局定製、門戶、JasperReports、Velocity模板、兼容Internet Explorer, Netscape, Mozilla, Opera。

FOP
http://xmlgraphics.apache.org/fop/
FOP是由James Tauber發起的一個開源項目,原先的版本是利用xsl-fo將xml文件轉換成pdf文件。但最新的版本它可以將xml文件轉換成pdf,mif,pcl,txt等多種格式以及直接輸出到列印機,並且支持使用SVG描述圖形。

JFreeReport
http://sourceforge.net/projects/jfreereport/
JFreeReport是一個用來生成報表的Java類庫。它為Java應用程序提供一個靈活的列印功能並支持輸出到列印機和PDF, Excel, HTML和XHTML, PlainText, XML和CSV文件中。

YaHP
http://www.allcolor.org/YaHPConverter/
YaHP是一個能夠把html文檔轉換成pdf文檔的Java開源包。

PDFjet
http://pdfjet.com/os/edition.html
PDFjet是一個用於動態生成PDF文檔的Java類庫。支持繪制點、線、方框、圓、貝塞爾曲線(Bezier Curves) 、多邊形、星形、復雜路徑和形狀。支持unicode,文本間距調整,嵌入超鏈接等。它同時有Java和.NET兩個版本。

vPDF
http://sourceforge.net/projects/vpdf/
一個將RTF文檔轉成PDF文檔的工具

【.NET組件】
--------------------------------------------------

iTextSharp
http://itextsharp.sourceforge.net/
iTextSharp 是用來生成 PDF 文檔的 C# 組件

PDFsharp
http://www.pdfsharp.com/
PDFsharp is a C# library that easily creates PDF documents on the fly. The same GDI+ like drawing routines can be used to create PDF documents, draw on the screen, or send output to any printer. PDFsharp can also modify, merge, and split existing PDF files or incorporate pages from existing PDF files into new PDF documents.

Report.NET
http://report.sourceforge.net/
Report.NET 是一個功能強大且易用的用來生成 PDF 文檔的 C# 組件
---------------------------------------------------------------------

【PHP】

Php Pdf Factory
http://sourceforge.net/projects/pdf-factory/
一個PHP的PDF操作庫。

TCPDF
http://www.tecnick.com/public/code/cp_dpage.php?aiocp_dp=tcpdf
TCPDF是一個用於快速生成PDF文件的PHP5函數包。TCPDF基於FPDF進行擴展和改進。支持UTF-8,Unicode,HTML和XHTML。

HTML2PDF
http://html2fpdf.sourceforge.net/
HTML2PDF能夠把一個HTML文本轉換成一個列印機友好的PDF文件。這個PHP腳本構建在FPDFPHP腳本之上。

cPdfWriter
http://www.palos.ro/index.php?page=opensource_active
cPdfWriter是一個能夠輸出PDF文檔的PHP5 class。基於TCPDF,FPDF和其它相關腳本。

FPDF
http://www.fpdf.org/
FPDF這個PHP Class允許你採用純PHP(更確切地說就是不需要使用PDFlib)來生成PDF文件。它所具有的特點包括:可選擇的unit大小,頁面格式和頁邊 距;頁眉和頁腳管理;自動分頁;自動換行與文本自動對齊;支持JPEG與PNG圖片格式;支持著色和文件超鏈接;支持TrueType,Type1與 encoding;支持頁面壓縮。...

------------------------------------------------------------------------

【Python和Ruby】
Prawn
http://prawn.majesticseacreature.com/
Prawn: 用Ruby生成PDF更簡捷

ReportLab
http://www.reportlab.org/
Reportlab是用python開發的生成pdf的工具包,它是一個開源軟體。

PDF生成工具 pyPdf
PyPDF這是一個用於構建PDF的純Python工具包

『陸』 如何使用office生成PDF文件

可以去下載相應的軟體
1、PDF文件的識別:

1)文件可以直接識別的(以文本形式保存的PDF文件):安裝acrobat 5 專業版,注意不是acrobat reader,直接另存為rtf文件(識別整個文件),或者選擇工具欄上的文字選擇按鈕,然後選擇文字區域,然後復制到word等中。

2)文件不能直接識別的(以圖片形式保存的PDF文件):安裝office2003,並裝上office工具Microsoft Office Document Imaging(完全安裝此工具),然後在列印機裡面會增加Microsoft Office Document Image Writer列印機,然後將PDF文件列印到此列印機,選擇列印形成的文件的保存位置,然後會自動形成一個MDI文件,並且自動用Microsoft Office Document Image打開此文件,然後選擇「工具」菜單下的「使用ocr識別文本」,識別完成後,在選擇「工具」下的,「將文本發送到word」,最後將把整個PDF文件識別輸出到word文件中。

注意:Microsoft Office Document Image可以非常准確的全文件識別轉化中文、英文、表格,但是無法將圖形輸出到word,而是把文件中的所有圖形單獨形成一個個獨立的圖片文件,放在相同位置的一個相同名稱的文件夾中,因此可用snagit軟體將圖形打開,然後復制到word中。(所有的識別軟體都不能很好的處理圖形的識別問題,Microsoft Office Document Image的這種處理方法已經是非常好的解決這個問題了。)

3)加密的Pdf文件:先下載解密軟體,解密後在參看1),2)
4)繁體pdf文件:用2)的方法識別到word後,用word中的「工具」--「語言」---「中文繁簡轉換」
2、讓JPG上的文字轉換到WORD中在日常工作中,我們可能會遇到需要把掃描後的表格或文章再重新修改或排版,然而大家都知道,掃描後的文件格式是圖片格式.一般情況下只有高檔點的掃描儀可以直接選擇掃描成PDF後者WORD格式.但是如果我們只有普通的掃描儀,而又要做到修改掃描後的文檔,現在我就來教大家怎麼在條件限制下,達到我們的目的.
首先我們要准備好OFFICE 2003,然後打開OFFCIE工具中的Micosoft Office Document Scanning工具,設置完後,我們就可以在需要修改的圖片上右擊,選擇列印,然後一直下一步,知道選擇列印機時,選擇Micosoft Office Document Image Writer,然後將圖片列印到文件擴展名為mdi格式的圖片格式.打開後選擇菜單工具中的"將文本發送到WORD".就是這么簡單方便

3、caj文件的識別:

1)局部文字識別:直接使用caj瀏覽器的ocr
2)全文件識別:列印到Microsoft Office Document Image Writer列印機,後面和上面的2)操作一樣
3)博碩論文全文下載:在線閱讀博碩論文,待可以看到最後一頁後,不要關閉caj瀏覽器,到caj安裝目錄下cache中找到一個較大的文件,拷貝到其他位置即可。然後使用2)全部轉化為word。

4、超星文件的識別:

1)局部文字識別:直接使用超星瀏覽器的ocr
2)全文件識別:列印到Microsoft Office Document Image Writer列印機,後面和上面的2)操作一樣,要注意的是,超星列印功能有點區別,因為超星是目錄和全文分開的,所以列印時,需要分別把目錄和正文識別到word中,在合並到一起。列印時要填入列印頁碼從1到最後一頁,不要選擇列印全部。此外在列印選項中,還要將頁面比例設成真實大小,而不是整寬。注意:識別速度比其他格式要慢很多,請保持耐心,但是最後當你看到輕松的生成全本書的word版本時,你會欣喜若狂的,呵呵。我的試驗結果是一本280頁的書,識別需要幾分鍾的時間。

3)超星相對比較麻煩一些,如果還有問題,可以先把超星列印成完整的pdf文件,然後在用1、的方法轉成word

5、其他情況下的識別:

使用snagit軟體將任何形式的文字可以變成圖片,例如使用snagit將屏幕拷貝成圖片,然後右鍵點擊圖片文件,用microsoft Office Document Image打開圖形,其他和2)一樣。

注意:其他的各種識別軟體請不要在用,因為要麼只能識別中文,要麼只能識別英文,要麼不能識別整個文件,要麼不能識別屏幕拷貝圖像,要麼識別誤差很大,要麼不能識別表格,要麼需要注冊,要麼識別速度很慢,要麼使用不便(和word結合不緊),這些軟體包括:紫光ocr,萬方pdfocr,尚書,漢王,ScanSoft PDF Converter,pdf2word,以及各種被推薦的軟體等等,我都裝過,現在都像垃圾一樣刪除了。只要安裝了acrobat 專業版,snagit,office2003,現在你可以完美的做任何事,最重要的是這幾個軟體很好得到。

針對一些問題的補充:
經過一些試驗,發現microsoft Office Document Image 存在一些不穩定的問題,例如在用caj列印到Microsoft Office Document Image Writer列印機時,發現用caj5.5版本比較快,(caj5.5不能加升級補丁),而caj5.0有時出現假死機。
另外頁面顯示大時,轉化的識別率較高。
如果頁數多的文件,包括超星,如果有問題,可以分多次轉化。

再次補充:
1、由於虛擬列印到Microsoft Office Document Image Writer 比較慢,並且形成的虛擬文件很大,1本200多頁的書大約是60M,因此會嚴重影響機器的運行速度和C盤空間以及內存空間,建議配置好的機器一次轉化不要超過200頁,配置差的不要超過100頁,同時列印時在右下角系統欄中會出現列印機圖,你可以雙擊,看到列印任務的進度,以免以為死機了。另外轉化完成後請刪除c:\windows\temp目錄下的虛擬列印文件,否則你的c盤很快會被用光。

2、建議如果發生列印到Microsoft Office Document Image Writer很慢或者假死的情況,可以先列印到snagit虛擬列印機,會自動生成tiff文件,速度比Microsoft Office Document Image Writer快,然後在snagit中,選擇列印機為Microsoft Office Document Image Writer列印機,(相當於再列印到Microsoft Office Document Image Writer列印機),然後選擇snagit---outputs下的printer,然後選擇snagit----file----finish output,即可生成msi文件,其他一樣。

『柒』 PDF電子書製作軟體

這個不錯的PDF生成器(PDFCreator)nbsp;V0.9.3c1.4.0nbsp;簡體中文版下載地址:http://www.znzxz.cn/soft/sort03/sort059/down-1950.html

『捌』 有什麼方法生成pdf文件,c

試試pdf+這個軟體吧,不知道會不會也生成,我反正沒有在手機上面看過pdf。

『玖』 PDF文件是怎樣製作的

使用Adobe公司的Acrobat,注意不是閱讀器(reader)。

『拾』 用photoshop怎麼製作PDF文件

製作方法如下:

1、打開PS主程序;

2、在文件菜單中選擇「自動--PDF演示文稿」,如圖;

6、配置好點擊「存儲PDF」即可輸出PDF文檔。

閱讀全文

與cpdf生成相關的資料

熱點內容
xlsx轉換pdf 瀏覽:94
3dmax擠出命令英語 瀏覽:903
靶心率的定義和演算法 瀏覽:513
3d模術師app哪裡下載 瀏覽:474
php中文api文檔 瀏覽:458
安卓設計怎麼加入輸入框 瀏覽:184
主根伺服器什麼時候開始 瀏覽:738
奇門遁甲完整版pdf 瀏覽:901
app軟體怎麼用的 瀏覽:802
電子書pdf購買 瀏覽:193
浪潮伺服器如何做系統 瀏覽:111
冒險島img格式加密 瀏覽:596
我的世界手游如何復制命令 瀏覽:659
天刀自動彈琴腳本源碼 瀏覽:970
打開其它app微信怎麼收不到 瀏覽:447
安卓游戲耳機怎麼戴 瀏覽:18
不越獄怎麼去除app廣告 瀏覽:178
ipadminipdf閱讀 瀏覽:506
文件夾無限制壓縮會不會降低內存 瀏覽:412
榮耀怎樣創建文件夾 瀏覽:631