HOME 首頁
SERVICE 服務(wù)產(chǎn)品
XINMEITI 新媒體代運(yùn)營
CASE 服務(wù)案例
NEWS 熱點(diǎn)資訊
ABOUT 關(guān)于我們
CONTACT 聯(lián)系我們
創(chuàng)意嶺
讓品牌有溫度、有情感
專注品牌策劃15年

    好看的pdf模板(好看的pdf模板圖片)

    發(fā)布時(shí)間:2023-04-04 05:19:10     稿源: 創(chuàng)意嶺    閱讀: 58        當(dāng)前文章關(guān)鍵詞排名出租

    大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于好看的pdf模板的問題,以下是小編對(duì)此問題的歸納整理,讓我們一起來看看吧。

    開始之前先推薦一個(gè)非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計(jì)劃、工作報(bào)告、論文、代碼、作文、做題和對(duì)話答疑等等

    只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁版、PC客戶端

    官網(wǎng):https://ai.de1919.com。

    創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務(wù)客戶遍布全球各地,如需了解相關(guān)業(yè)務(wù)請(qǐng)撥打電話175-8598-2043,或添加微信:1454722008

    本文目錄:

    好看的pdf模板(好看的pdf模板圖片)

    一、如何制作PDF樣本?

    PDF文件是目前比較流行的電子文檔格式,在辦公自動(dòng)化(OA)等軟件的開發(fā)中,經(jīng)常要用到該格式,但介紹如何制作PDF格式文件的資料非常少,在網(wǎng)上搜來搜去,都轉(zhuǎn)貼的是同一段“暴力”綠色的方法,代碼片斷如下:

    StreamWriter pPDF=new StreamWriter(filePath);

    ArrayList xRefs=new ArrayList();

    float yPos =0f;

    long streamStart=0;

    long streamEnd=0;

    long streamLen =0;

    string strPDFMessage=null;

    //PDF文檔頭信息

    strPDFMessage="%PDF-1.1\n";

    ConvertToByteAndAddtoStream(strPDFMessage);

    xRefs.Add(mPDF.Length);

    strPDFMessage="1 0 obj\n";

    ConvertToByteAndAddtoStream(strPDFMessage);

    strPDFMessage="<< /Length 2 0 R >>\n";

    ConvertToByteAndAddtoStream(strPDFMessage);

    strPDFMessage="stream\n";

    ConvertToByteAndAddtoStream(strPDFMessage);

    ……

    看了上面的制作辦法,我眼鏡都摔壞了三幅,如果用上面這樣原始的辦法能制作出滿意的PDF文件,那一定是天才所為。后來,我從一個(gè)網(wǎng)站(網(wǎng)址:http://itextsharp.sourceforge.net/index.html)中看到了專門制作PDF文件的控件的介紹,暗喜之余,立馬下載試驗(yàn),果然非常輕松地制作出了想要的PDF文件,因?yàn)榫W(wǎng)站為英文,內(nèi)容又多,讀起來非常費(fèi)力,在解決了自己的問題后,看到許多網(wǎng)友還在為PDF文件制作而郁悶,遂決定將該內(nèi)容翻譯為中文,由于本人英語水平一般,許多地方又晦澀難懂,故翻譯質(zhì)量不是很滿意,敬請(qǐng)斧正,但大部分能看懂。本文的目的一是解決部分網(wǎng)友的燃眉之急,二是拋磚引玉,如果哪位仁兄愿意將該網(wǎng)站中的內(nèi)容準(zhǔn)確翻譯出來,則是天下之大幸。

    要用本文的方法生成PDF文件,需要兩個(gè)控件:itextsharp.dll和ICSharpCode.SharpZipLib.dll,由于示例代碼實(shí)在太多,我將代碼全部整理出來,放在另外一個(gè)文件“示例代碼.doc”中,所有這些資源,我均放在了本人的ftp站點(diǎn)(ftp://202.107.251.26)上的“Pdf文件制作全攻略”文件夾中(文件夾中另外兩個(gè)rar壓縮文件為兩個(gè)控件的源代碼,供大家學(xué)習(xí)研究使用),你可以到這里下載相應(yīng)的資源,或者直接到原網(wǎng)站下載。

    為便于調(diào)試和敘述,所有例子均為DOS控制臺(tái)程序,windows程序使用方法完全一樣,按照下面的步驟創(chuàng)建一個(gè)可調(diào)試的項(xiàng)目:

    1、 打開VS2003;

    2、 單擊菜單“文件”→“新建”→“項(xiàng)目”,在項(xiàng)目類型中選擇“Visual C#項(xiàng)目”,在模板中選擇“控制臺(tái)應(yīng)用程序”,輸入文件名稱如“MakePdf”,指定好存放路徑,然后點(diǎn)確定按鈕;

    3、 在“解決方案資源管理器”中右鍵單擊“引用”,從彈出的菜單中選擇“添加引用”,在“.NET”選項(xiàng)夾中選擇“瀏覽”,添加前面提到的兩個(gè)應(yīng)用,如下圖:

    4、 在代碼窗口頂部添加兩個(gè)引用:

    using iTextSharp.text;

    using iTextSharp.text.pdf;

    至此,準(zhǔn)備工作完畢。

    第一部分 iText的簡單應(yīng)用第一章 創(chuàng)建一個(gè)Document

    利用iText五步創(chuàng)建一個(gè)PDF文件:helloword。

    第一步,創(chuàng)建一個(gè) iTextSharp.text.Document對(duì)象的實(shí)例:

    Document document = new Document();

    第二步,為該Document創(chuàng)建一個(gè)Writer實(shí)例:

    PdfWriter.getInstance(document, new FileStream("Chap0101.pdf", FileMode.Create));

    第三步,打開當(dāng)前Document

    document.Open();

    第四步,為當(dāng)前Document添加內(nèi)容:

    document.Add(new Paragraph("Hello World"));

    第五步,關(guān)閉Document

    document.Close();

    完整的代碼見示例代碼0101。

    在例中,不難看出,制作一個(gè)PDF文件是非常簡單的。

    注:如果你將例中“document.Add(new Paragraph("Hello World"));”中的字符串“Hello Word”換成中文,如“這是我的第一個(gè)PDF文件”,產(chǎn)生的結(jié)果一定讓你大失所望,因?yàn)樯傻腜DF文件中并沒有將中文顯示出來,不要擔(dān)心,在第9章中要專門講解字體問題,中文顯示也就迎刃而解了,如果不能正確顯示中文,也就沒有必要翻譯本文了。

    下面對(duì)這幾步做詳細(xì)介紹。

    第一步 創(chuàng)建一個(gè)Document實(shí)例:

    iTextSharp.text.Document-object共有三個(gè)構(gòu)造函數(shù):

    public Document();

    public Document(Rectangle pageSize);

    public Document(Rectangle pageSize,

    int marginLeft,

    int marginRight,

    int marginTop,

    int marginBottom);

    第一個(gè)構(gòu)造函數(shù)以A4頁面作為參數(shù)調(diào)用第二個(gè)構(gòu)造函數(shù),第二個(gè)構(gòu)造函數(shù)以每邊36磅頁邊距為參數(shù)調(diào)用第三個(gè)構(gòu)造函數(shù)

    u 頁面尺寸:

    你可以通過指定的顏色和大小創(chuàng)建你自己的頁面,示例代碼0102創(chuàng)建一個(gè)細(xì)長的淺黃色背景的頁面:

    Rectangle pageSize = new Rectangle(144, 720);

    pageSize.BackgroundColor = new Color(0xFF, 0xFF, 0xDE);

    Document document = new Document(pageSize);

    通常,你不必創(chuàng)建這樣的頁面,而可以從下面頁面尺寸中選擇:

    A0-A10, LEGAL, LETTER, HALFLETTER, _11x17, LEDGER, NOTE, B0-B5, ARCH_A-ARCH_E, FLSA 和 FLSE

    大多數(shù)情況下使用縱向頁面,如果希望使用橫向頁面,你只須使用rotate()函數(shù):

    Document document = new Document(PageSize.A4.rotate());

    詳細(xì)代碼見示例代碼0103。

    u 頁邊距:

    當(dāng)創(chuàng)建一個(gè)文件時(shí),你還可以定義上、下、左、右頁邊距:

    Document document = new Document(PageSize.A5, 36, 72, 108, 180);

    在示例代碼0104中你可以看到該文檔有一個(gè)0.5英寸的左邊距和1英寸的右邊距,上邊距為1.5英寸,下邊距為2.5英寸。

    說明:

    當(dāng)創(chuàng)建一個(gè)矩形或設(shè)置邊距時(shí),你可能希望知道該用什么度量單位:厘米、英寸或象素,事實(shí)上,默認(rèn)的度量系統(tǒng)以排版單位磅為基礎(chǔ)得出其他單位的近似值,如1英寸=72磅,如果你想在A4頁面的PDF中創(chuàng)建一個(gè)矩形,你需要計(jì)算以下數(shù)據(jù):

    21 厘米 / 2.54 = 8.2677 英寸

    8.2677英寸* 72 = 595 磅

    29.7 厘米 / 2.54 = 11.6929 英寸

    11.6929英寸* 72 = 842 磅

    默認(rèn)邊距為36磅即半英寸。

    如果你修改了頁面尺寸,僅僅影響到下一頁,如果你修改了頁邊距,則影響到全部,故慎用。

    關(guān)于頁面的初始值,請(qǐng)參考第三步。

    第二步 創(chuàng)建Writer實(shí)例

    一旦創(chuàng)建了document,我們可以創(chuàng)建該文檔的多個(gè)Writer的實(shí)例,所有這些Writer實(shí)例均繼承自抽象類“iTextSharp.text.DocWriter”。

    同時(shí)還有另外一種情況,你可以用iTextSharp.text.pdf.PdfWriter產(chǎn)生文檔PDF文件,如果你想創(chuàng)建一個(gè)TeX文檔,你可以使用iTextSharp.text.TeX.TeXWriter包。

    Writer類的構(gòu)造函數(shù)是私有的,你只能通過下面的方法創(chuàng)建一個(gè)實(shí)例:

    public static xxxWriter getInstance(Document document, Stream os);(xxx 是 Pdf 或 Xml)

    你可以通過下面的方法創(chuàng)建一個(gè)實(shí)例:

    PdfWriter writer = PdfWriter.getInstance(document, new FileStream("Chap01xx.pdf"));

    但是你幾乎永遠(yuǎn)不會(huì)用到Writer實(shí)例(除非你想創(chuàng)建高級(jí)PDF或者希望用一些非常特殊的函數(shù),如ViewerPreferences 或 Encryption)。所以通過下面的辦法得到實(shí)例已經(jīng)足夠了: PdfWriter.getInstance(document, new FileStream("Chap01xx.pdf"));

    在第一步中創(chuàng)建一個(gè)文檔時(shí),第一個(gè)參數(shù)意義不大,第二個(gè)參數(shù)可以是任何一種流,到目前為止我們一直使用System.IO.FileStream將Document寫入文件中,示例代碼0105用到了System.IO.MemoryStream(這不是一個(gè)獨(dú)立的例子,你必須在Servlet Engine中測試這些代碼。

    第三步 打開Document

    u 摘要

    在你寫入任何實(shí)際數(shù)據(jù)之前,你可能希望通過以下幾種方法寫入一些關(guān)于本文檔的摘要:

    public boolean addTitle(String title)

    public boolean addSubject(String subject)

    public boolean addKeywords(String keywords)

    public boolean addAuthor(String author)

    public boolean addCreator(String creator)

    public boolean addProducer()

    public boolean addCreationDate()

    public boolean addHeader(String name, String content)

    你可以選擇自己的標(biāo)題、主題、關(guān)鍵字、作者、創(chuàng)建程序,但以下產(chǎn)品信息將始終被添加:iTextSharp (或者iTextSharp的引用)和創(chuàng)建時(shí)間(實(shí)際上這兩種方法是自動(dòng)調(diào)用的)。

    你還可以將自定義的名稱添加為“報(bào)頭信息”,但是這對(duì)于PdfWriter沒有任何作用,如果看看實(shí)例代碼0101產(chǎn)生的pdf文件的“文檔屬性”,我們可以看到僅僅有PDF創(chuàng)建程序和產(chǎn)品日期,而示例代碼0106的“文檔屬性”框中有更多的信息。

    打開document前要做的事:

    你只能在Open方法調(diào)用之前添加摘要,這是iText開發(fā)工具提供的一個(gè)選擇。

    在HTML中,報(bào)頭信息被放在文檔前面報(bào)頭標(biāo)識(shí)中間,調(diào)用Open方法將導(dǎo)致報(bào)頭信息寫入流,因而在Document被打開后無法更改這些數(shù)據(jù)。

    PDF報(bào)頭信息不包括摘要,看起來有類似于:

    %PDF-1.2

    該行顯示生成的文檔是一個(gè)版本為1.2的PDF格式的文件,在PDF中,摘要保存在PdfInfo對(duì)象中,當(dāng)文檔關(guān)閉時(shí)已經(jīng)寫入PdfWriter中了,因此,沒有關(guān)于為什么不能修改庫來滿足任何時(shí)候添加或更改摘要的技術(shù)原因

    u 頁面初始化

    Open方法在不同的Witer中同時(shí)會(huì)產(chǎn)生初始化事件,舉例來說,如果你需要一個(gè)水印或者頁眉頁角對(duì)象出現(xiàn)在文檔第一頁的開始處,你需要在打開文檔前添加這些,同樣的用于設(shè)置該文檔其他頁水印、頁眉、頁角、頁數(shù)和尺寸。

    當(dāng)調(diào)用下列方法:

    public bool setPageSize(Rectangle pageSize)

    public bool Add(Watermark watermark)

    public void removeWatermark()

    setting Header property

    public void resetHeader()

    setting Footer property

    public void resetFooter()

    public void resetPageCount()

    setting PageCount property

    產(chǎn)生的結(jié)果只能在下一個(gè)新頁中看到(當(dāng)在本頁調(diào)用初始化方法時(shí)),代碼見示例代碼0107,你必須要準(zhǔn)備一張名為watermark.jpg的圖片,如下圖:

    u 閱讀器參數(shù):

    你可以通過下面的辦法為PDF文件指定一些閱讀器 (如Adobe Reader) 參數(shù):

    public void setViewerPreferences(int preferences)

    在示例代碼0108中,指定了下面一些參數(shù):

    writerA.setViewerPreferences(PdfWriter.PageLayoutTwoColumnLeft);

    writerB.setViewerPreferences(PdfWriter.HideMenubar | PdfWriter.HideToolbar);

    writerC.setViewerPreferences(PdfWriter.PageLayoutTwoColumnLeft | PdfWriter.PageModeFullScreen | PdfWriter.NonFullScreenPageModeUseThumbs);

    正如你所看到的,參數(shù)可以使用以下一些常量:

    l 文件被打開時(shí),頁面布局用到下面的其中一個(gè) :

    PdfWriter.PageLayoutSinglePage – 同時(shí)只顯示一個(gè)頁面

    PdfWriter.PageLayoutOneColumn –單列顯示

    PdfWriter.PageLayoutTwoColumnLeft –雙列顯示,奇數(shù)頁在左

    PdfWriter.PageLayoutTwoColumnRight -雙列顯示,奇數(shù)頁在右

    l 文件打開時(shí),頁面模式用到下面其中之一:

    PdfWriter.PageModeUseNone – 既不顯示大鋼也不顯示縮略圖

    PdfWriter.PageModeUseOutlines – 顯示大綱

    PdfWriter.PageModeUseThumbs – 顯示縮略圖

    PdfWriter.PageModeFullScreen – 全屏模式,沒有菜單、windows控件或者其他任何windows可見控件

    l PdfWriter.HideToolbar – 當(dāng)文檔激活時(shí),是否隱藏閱讀程序(如Adobe Reader)的工具條

    l PdfWriter.HideMenubar -當(dāng)文檔激活時(shí),是否隱藏閱讀程序的菜單.

    l PdfWriter.HideWindowUI -當(dāng)文檔激活時(shí),是否隱藏閱讀程序的界面元素,如滾動(dòng)條、導(dǎo)航條等,而僅僅保留文檔顯示

    l PdfWriter.FitWindow – 是否調(diào)整文檔窗口尺寸以適合顯示第一頁。

    l PdfWriter.CenterWindow – 是否將文檔窗口放到屏幕中央

    l 在全屏模式下,指定如何顯示界面元素(選擇一個(gè))

    PdfWriter.NonFullScreenPageModeUseNone -既不顯示大鋼也不顯示縮略圖

    PdfWriter.NonFullScreenPageModeUseOutlines – 顯示大鋼

    PdfWriter.NonFullScreenPageModeUseThumbs – 顯示縮略圖

    說明:你只能在類PdfWriter中調(diào)用這些方法。

    u 加密

    打開文檔之前還要做的一件事情就是加密(如果你希望該文檔加密),要達(dá)到這個(gè)目的,你可以使用下面的方法:

    public void setEncryption(boolean strength, String userPassword, String ownerPassword, int permissions);

    strength 是下面兩個(gè)常量之一:

    PdfWriter.STRENGTH40BITS: 40 位

    PdfWriter.STRENGTH128BITS: 128位 (Acrobat Reader 5.0及以上版本支持)

    UserPassword和ownerPassword 可以為空或零長度, 這種情況下, ownerPassword 將被隨機(jī)的字符串代替

    Permissions 為下列常量之一:

    PdfWriter.AllowPrinting

    PdfWriter.AllowModifyContents

    PdfWriter.AllowCopy

    PdfWriter.AllowModifyAnnotations

    PdfWriter.AllowFillIn

    PdfWriter.AllowScreenReaders

    PdfWriter.AllowAssembly

    PdfWriter.AllowDegradedPrinting

    該功能參見示例代碼0109和示例代碼0110。

    writer.setEncryption(PdfWriter.STRENGTH40BITS, null, null, PdfWriter.AllowCopy);

    示例代碼0109產(chǎn)生的文件能夠被打開而無須密碼,但用戶不能打印、修改本文檔。

    writer.setEncryption(PdfWriter.STRENGTH128BITS, "userpass", "ownerpass", PdfWriter.AllowCopy | PdfWriter.AllowPrinting);

    打你試圖打開示例代碼0110產(chǎn)生的文件時(shí),將要求輸入密碼('userpass'),因?yàn)樘砑恿薃llowPrinting參數(shù),你可以打印該文檔而不會(huì)發(fā)生任何問題。

    第四步 添加內(nèi)容

    在解釋第一步到第三步的不同示例中,你可能已經(jīng)遇到了一些對(duì)象如Phrase, Paragraph等 在接下來的幾章中,所有這些問題都將得到詳細(xì)解釋。

    有時(shí)你可能想一個(gè)writer故意忽略document產(chǎn)生的行為,如示例代碼0111:

    當(dāng)我們創(chuàng)建了兩個(gè)writer: writerA 和 writerB:

    PdfWriter writerA = PdfWriter.getInstance(document, new FileStream("Chap0111a.pdf", FileMode.Create));

    PdfWriter writerB = PdfWriter.getInstance(document, new FileStream("Chap0111b.pdf", FileMode.Create));

    我們可以創(chuàng)建兩個(gè)有細(xì)微差別的文檔:

    writerA.Pause();

    document.add(new Paragraph("This paragraph will only be added to Chap0111b.pdf, not to Chap0111a.pdf"));

    writerA.resume();

    你可以比較文件: Chap0111a.pdf和Chap0111b.pdf的區(qū)別

    第五步,關(guān)閉 document

    關(guān)閉 document 非常重要, 因?yàn)樗鼘㈥P(guān)閉正在運(yùn)行的Writer并將內(nèi)容寫入文件,該方法在最后被調(diào)用,你應(yīng)該總是要關(guān)閉文檔。

    高級(jí)話題:閱讀PDF文件

    該部分內(nèi)容介紹了iText只能產(chǎn)生PDF格式的文件而不能解析PDF格式文件,不再翻譯。

    第二章 塊、短句和段落

    塊(Chunk)是能被添加到文檔的文本的最小單位,塊可以用于構(gòu)建其他基礎(chǔ)元素如短句、段落、錨點(diǎn)等,塊是一個(gè)有確定字體的字符串,要添加塊到文檔中時(shí),其他所有布局變量均要被定義。下面一行中,我們創(chuàng)建了一個(gè)內(nèi)容為“hello World”、紅色、斜體、COURIER字體、尺寸20的一個(gè)塊:

    Chunk chunk = new Chunk("Hello world", FontFactory.getFont(FontFactory.COURIER, 20, Font.ITALIC, new Color(255, 0, 0)));

    u 典型字體1:

    在本指南中,除了第九章外(你可以在這里學(xué)會(huì)使用其他字體),我們將始終使用典型字體1,這些是不同的典型字體1:

    · Courier (該字體定寬)

    · Helvetica

    · Times Roman

    · Symbol

    · ZapfDingbats

    u 下劃線/刪除線

    如果你希望一些塊有下劃線或刪除線,你可以通過改變字體風(fēng)格簡單做到:

    Chunk chunk1 = new Chunk("This text is underlined", FontFactory.getFont(FontFactory.HELVETICA, 12, Font.UNDERLINE));

    Chunk chunk2 = new Chunk("This font is of type ITALIC | STRIKETHRU", FontFactory.getFont(FontFactory.HELVETICA, 12, Font.ITALIC | Font.STRIKETHRU));

    u 上標(biāo)/下標(biāo)

    在塊中有幾個(gè)方法可以調(diào)用,其中大部分將在接下來的章節(jié)中介紹,本章中只介紹一個(gè)方法 setTextRise(float f). 你可以使用該方法在上標(biāo)或下標(biāo)中寫塊。

    u 塊的背景

    如果你想改變塊的背景,你可以使用方法setBackground(Color color). 這將在塊文本的下面添加一個(gè)彩色矩形:

    ck.setBackground(new Color(0xFF, 0xFF, 0x00));

    在示例代碼0101中,你可以概覽典型字體1和一個(gè)使用setTextRise, setBackground等方法的的例子。

    短句

    短句(Phrases)是一系列以特定間距(兩行之間的距離)作為參數(shù)的塊,一個(gè)短句有一個(gè)主字體,但短句中的一些塊具有不同于主字體的字體,你有更多的選擇去創(chuàng)建短句,一些具體使用參見代碼0202。

    u 古希臘語

    因?yàn)楣畔ED語經(jīng)常使用,在類Phrase的構(gòu)造函數(shù)中有一個(gè)特征:將一個(gè)字符串作為參數(shù)(如果你想避免這種情況,你只能使用塊工作而不能使用字符串),正如你在示例代碼0203中看到的,這個(gè)特征自動(dòng)地將913至937(除903)和945至969(古希臘的ASCII值)范圍內(nèi)的所有字體改為希臘符號(hào)。

    u 非主要性

    與其說這是一個(gè)特征,不如說是一個(gè)缺陷,但無論如何,這使創(chuàng)建一個(gè)非主要性的短句或段落成為可能,這將產(chǎn)生一個(gè)由下向上書寫的臨時(shí)作用(參見示例代碼0204)。如果你想在一頁中將一些位置移動(dòng)到上面時(shí)可能有用。

    說明,當(dāng)你穿越上邊屆時(shí)無法檢查,也沒有辦法讓你回到前一頁。

    段落

    段落是一系列塊和(或)短句。同短句一樣,段落有確定的間距。用戶還可以指定縮排;在邊和(或)右邊保留一定空白,段落可以左對(duì)齊、右對(duì)齊和居中對(duì)齊。添加到文檔中的每一個(gè)段落將自動(dòng)另起一行。有幾種辦法建立一個(gè)段落,如:

    Paragraph p1 = new Paragraph(new Chunk("This is my first paragraph.", FontFactory.getFont(FontFactory.HELVETICA, 12)));

    Paragraph p2 = new Paragraph(new Phrase("This is my second paragraph.", FontFactory.getFont(FontFactory.HELVETICA, 12)));

    Paragraph p3 = new Paragraph("This is my third paragraph.", FontFactory.getFont(FontFactory.HELVETICA, 12));

    所有有些對(duì)象將被添加到段落中:

    p1.add("you can add strings, "); p1.add(new Chunk("you can add chunks ")); p1.add(new Phrase("or you can add phrases."));

    說明:一個(gè)段落有一個(gè)且僅有一個(gè)間距,如果你添加了一個(gè)不同字體的短句或塊,原來的間距仍然有效,你可以通過SetLeading來改變間距,但是段落中所有內(nèi)容將使用新的中的間距。見示例代碼0205。

    u 保持段落的整體性

    在示例代碼0206中,我們使用了setKeepTogether(true)方法來試圖將一個(gè)段落放在同一頁中,該方法并不是始終有效,舉個(gè)例子,第一段不能剛好在一頁中,于是被分成了兩部分。第二段被放置在第二頁,但第三段順沿到了第三頁上。

    字體的延續(xù)

    你應(yīng)該掌握字體延續(xù)的一些規(guī)則,這些規(guī)則的應(yīng)用見示例代碼0207,當(dāng)我們將一些內(nèi)容用指定的字體(非默認(rèn)字體)創(chuàng)建一個(gè)短句或者段落后再添加更多內(nèi)容時(shí),初始對(duì)象的字體風(fēng)格將被延續(xù),請(qǐng)看“Hello 1!”和“Hello 2”:

    Phrase myPhrase = new Phrase("Hello 2! ", new Font(Font.TIMES_NEW_ROMAN, 8, Font.BOLD));

    myPhrase.Add(new Phrase("some other font ", new Font(Font.HELVETICA, 8, Font.ITALIC)));

    myPhrase.Add(new Phrase("This is the end of the sentence.\n", new Font(Font.TIMES_NEW_ROMAN, 8, Font.ITALIC)));

    document.Add(myPhrase);

    我們由Times New Roman 粗體字開始,添加一些文本使用Helvetica字體而不指定風(fēng)格,我們發(fā)現(xiàn)文本被改變成了粗體,當(dāng)我們?cè)偌右恍┪谋臼褂肨imes New Roman字體和斜體風(fēng)格,結(jié)果變成了粗斜體。

    如果我們使用FontFactory來創(chuàng)建字體,字體風(fēng)格不會(huì)被延續(xù),因?yàn)镕ontFactory使用了另外的技術(shù)構(gòu)建一個(gè)字體:

    myPhrase = new Phrase("Hello 1bis! ", FontFactory.getFont(FontFactory.TIMES_NEW_ROMAN, 8, Font.BOLD));

    myPhrase.Add(new Phrase("some other font ", FontFactory.getFont(FontFactory.HELVETICA, 8, Font.ITALIC)));

    myPhrase.Add(new Phrase("This is the end of the sentence.\n", FontFactory.getFont(FontFactory.TIMES_NEW_ROMAN, 8, Font.ITALIC)));

    document.Add(myPhrase);

    在上面的代碼中,使用Helvetica字體的文本風(fēng)字體沒有指定(既不是粗體也不是斜體)。采用Times New Roman的額外文本僅僅顯示為斜體。

    你也看到我們添加了一個(gè)段落,添加該段落就如同一個(gè)短句。

    Paragraph myParagraph = new Paragraph("Hello 1! ", new Font(Font.TIMES_NEW_ROMAN, 8, Font.BOLD));

    myParagraph.Add(new Paragraph("This is the end of the sentence.",FontFactory.getFont(new Font.TIMES_NEW_ROMAN, 8)));

    document.Add(myParagraph);

    你可以不這樣做,但將失去字體風(fēng)格的延續(xù),首先不用任何字體創(chuàng)建段落(例中我們僅僅給字體出間距為1.5倍),然后添加內(nèi)容的不同部分。

    myParagraph = new Paragraph(12);

    myParagraph.Add(new Paragraph("Hello 3! ", new Font(Font.TIMES_NEW_ROMAN, 8, Font.BOLD)));

    myParagraph.Add(new Paragraph("This is the end of the sentence.", new Font(Font.TIMES_NEW_ROMAN, 8, Font.ITALIC)));

    document.Add(myParagraph);

    如果你使用了Phrase對(duì)象,你同樣會(huì)失去字體風(fēng)格的延續(xù):

    myPhrase = new Phrase(12);

    myPhrase.Add(new Phrase("Hello 4! ", new Font(Font.TIMES_NEW_ROMAN, 8, Font.BOLD)));

    myPhrase.Add(new Phrase("This is the end of the sentence.", newFont(Font.TIMES_NEW_ROMAN, 8, Font.ITALIC)));

    document.Add(myPhrase);

    u 更改分割符

    通常,當(dāng)文本不能放在一行時(shí),文本將被分割成不同的部分,iText首先會(huì)查找分割符,如果沒有找到,文本將在行尾被截?cái)唷S幸恍╊A(yù)定的分割符如“ ”空格和“-”連字符,但是你可以使用setSplitCharacter方法來覆蓋這些默認(rèn)值。在示例代碼0208中,你可以看到當(dāng)?shù)竭_(dá)行尾時(shí)一個(gè)塊是如何被分割的。然后分隔符被改成點(diǎn)“.”,該行在該字符處被分割。

    二、誰能提供各種標(biāo)簽紙模板給我 要電子檔的 WORD\EXCEL\PDF都可以的 謝謝啊

    你用來做什么,哪樣的標(biāo)簽有很多的,不知道你要的是哪種。

    三、怎樣用excel做這樣的pdf保證單?

    要用 Excel 制作這樣的 PDF 保證單,可以按照以下步驟進(jìn)行:

    • 打開 Excel,創(chuàng)建一個(gè)新的工作表。

    • 在工作表中設(shè)置標(biāo)題和表格格式,例如:日期、編號(hào)、項(xiàng)目、數(shù)量、價(jià)格、總價(jià)等信息。

    • 填入數(shù)據(jù),根據(jù)需要計(jì)算每項(xiàng)的總價(jià)。

    • 在 Excel 中插入圖像、公司標(biāo)志等元素,來美化 PDF 保證單。

    • 點(diǎn)擊「文件」-「另存為」,在文件類型中選擇「PDF」格式,然后保存文檔。

    • 打開保存的 PDF 文件,檢查格式和布局是否符合要求。

    • 需要注意的是,如果你希望 PDF 保證單的格式和樣式與實(shí)際打印的保證單一致,建議在保存為 PDF 之前先進(jìn)行打印預(yù)覽。這可以幫助你發(fā)現(xiàn)并解決可能存在的格式和布局問題。

    四、怎樣給pdf書做 封面

    身邊很多同事抱怨,說PDF格式的文檔很不好用,除了好看就沒有一點(diǎn)優(yōu)點(diǎn)。

    PDF大家都知道,編輯和閱讀都不是在同一個(gè)軟件下實(shí)現(xiàn)的,但其實(shí),這種格式的文檔也沒有想象中那么可怕吖。它在傳輸過程中保證了文本的有序排列,非常方便閱讀。大家最頭痛的肯定是編輯問題,但只要找對(duì)方式就會(huì)發(fā)現(xiàn)壓根不是問題。小編會(huì)根據(jù)大家不同的需求,分享方法教程,比如本文就來分享關(guān)于PDF添加封面的技巧,特別簡單適合小白用戶,一起來看看吧!

    推薦使用:閃電PDF虛擬打印機(jī)

    操作方法:

    第一步、打開軟件后,點(diǎn)擊進(jìn)入“設(shè)置”;

    好看的pdf模板(好看的pdf模板圖片)

    第二步、在這里,勾選封面然后在右側(cè)選擇添加封面,注意:封面文件是pdf格式的哦;

    好看的pdf模板(好看的pdf模板圖片)

    第三步、添加后,記得點(diǎn)擊保存哦;

    好看的pdf模板(好看的pdf模板圖片)

    第四步、保存后回到軟件主界面,點(diǎn)擊添加文件;

    好看的pdf模板(好看的pdf模板圖片)

    第五步、文件添加進(jìn)來后,在彈出的窗口中選擇“導(dǎo)出”;

    好看的pdf模板(好看的pdf模板圖片)

    第六步、導(dǎo)出完成后,點(diǎn)擊“前往導(dǎo)出文件”瀏覽即可;

    好看的pdf模板(好看的pdf模板圖片)

    第七步、如圖,以下就是添加好的封面啦,看著還不錯(cuò)哦!

    好看的pdf模板(好看的pdf模板圖片)

    以上就是關(guān)于好看的pdf模板相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會(huì)為您講解更多精彩的知識(shí)和內(nèi)容。


    推薦閱讀:

    連續(xù)劇排行榜(好看的連續(xù)劇排行榜前十名2022)

    景觀設(shè)計(jì)好看公眾號(hào)(景觀公眾號(hào)推薦)

    好看漢字字體(好看漢字字體圖片)

    小紅書怎么取消不了收藏(小紅書怎么取消不了收藏的內(nèi)容)

    杭州馬是什么(杭州馬是什么平臺(tái))