国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

C# 圖片轉(zhuǎn)PDF,PDF增加水印文字

這篇具有很好參考價值的文章主要介紹了C# 圖片轉(zhuǎn)PDF,PDF增加水印文字。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

  好久沒寫博客了,今天給大家分享一個圖片轉(zhuǎn)PDF的相關(guān)操作,也算是一次總結(jié)吧。

  首先需要準備動態(tài)庫itextsharp.dll,這個dll去網(wǎng)上下載,都可以下載到,C#對PDF的操作都是基于這個類庫來實現(xiàn)的。話不多說,直接上代碼。

        /// <summary>
        /// 導出PDF
        /// </summary>
        /// <param name="FilePath">圖片的路勁</param>
		/// <param name="FileName">圖片的名稱</param>
        private bool PrintToPdf(string FilePath,string FileName )
        {			

            iTextSharp.text.Rectangle rec = new iTextSharp.text.Rectangle(0, 0, iTextSharp.text.PageSize.A4.Width, iTextSharp.text.PageSize.A4.Height);
            iTextSharp.text.Image image;
            iTextSharp.text.Document document = null;
            FileStream fs = null;
            PdfWriter writer = null;
            try
            {
                //生成PDF
                document = new iTextSharp.text.Document(rec);
                fs = new FileStream(FilePath + FileName + ".pdf", FileMode.Create);

                PdfWriter.GetInstance(document, fs);
                document.Open();
                image = iTextSharp.text.Image.GetInstance(FilePath + FileName + ".jpg");
                //調(diào)整圖片大小,使之適合A4
                if (image.Height > rec.Height)
                {
                    image.ScaleToFit(rec.Width, rec.Height);
                }
                else if (image.Width > rec.Width)
                {
                    image.ScaleToFit(rec.Width, rec.Height);
                }

                //調(diào)整圖片位置,使之居中
                image.Alignment = iTextSharp.text.Image.ALIGN_MIDDLE;
                document.NewPage();
                document.Add(image);
            }
            catch (Exception ex)
            {
                return false;
            }
            finally
            {
                if (document.IsOpen())
                {
                    document.Close();
                }
                fs.Close();

                //最后刪除生成的圖片
                File.Delete(FilePath + FileName + ".jpg");
            }

            try
            {
                //添加水印圖片,水印圖片采取的是先生成圖片,再添加到PDF文件中
                document = new iTextSharp.text.Document(rec);
                fs = new FileStream(FilePath + FileName + ".pdf", FileMode.Open);
                writer = PdfWriter.GetInstance(document, fs);
                iTextSharp.text.Image imgWater = CreateWaterImage();
                PdfReader reader = new PdfReader(fs);
                document.Open();
                PdfContentByte cb = writer.DirectContent;
                PdfImportedPage newPage;
                int iPageNum = reader.NumberOfPages;
                for (int j = 1; j <= iPageNum; j++)
                {
                    document.NewPage();
                    newPage = writer.GetImportedPage(reader, j);

                    //pdf旋轉(zhuǎn)
                    if (newPage.Width > newPage.Height)
                    {
                        cb.AddTemplate(newPage, 0, -1f, 1f, 0, 0, newPage.Width);
                    }
                    else
                    {
                        cb.AddTemplate(newPage, 0, 0);
                    }
                    cb.AddImage(imgWater);
                }
                return true;
            }
            catch (Exception ex)
            {
                return false;
            }
            finally
            {
                if (document.IsOpen())
                {
                    document.Close();
                }
                writer.Close();
                fs.Close();
            }
        }

        /// <summary>
        /// 生成水印圖片
        /// </summary>
        /// <returns></returns>
        private iTextSharp.text.Image CreateWaterImage()
        {
            string WaterText = "水印文本";
            Bitmap bitmap = new Bitmap(595, 842);
            using (Graphics g = Graphics.FromImage(bitmap))
            {
                //重置圖像
                g.ResetTransform();
                //設(shè)置旋轉(zhuǎn)中心
                g.TranslateTransform(bitmap.Width / 2, bitmap.Height / 2);
                //旋轉(zhuǎn)50度 順時針
                g.RotateTransform(-50);
                //指定文本呈現(xiàn)的質(zhì)量 解決文字鋸齒問題
                g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;
                System.Drawing.Font font = new System.Drawing.Font("微軟雅黑", 14);
                SolidBrush solidBrush = new SolidBrush(Color.FromArgb(100, 0, 0, 0));

                //設(shè)置文字、字體、大小、顏色、起始位置
                g.DrawString(WaterText, font, solidBrush, new Point(-240, -100));

                g.DrawString(WaterText, font, solidBrush, new Point(-340, 100));
            }
			
			//把水印圖片保存在系統(tǒng)指定位置
            bitmap.Save("C:\\WaterTemp.jpg");

            iTextSharp.text.Image image = iTextSharp.text.Image.GetInstance("C:\\WaterTemp.jpg");
            //透明度,灰色填充
            image.GrayFill = 20;
            image.SetAbsolutePosition(0, 0);

            return image;
        }

  文章來源地址http://www.zghlxwxcb.cn/news/detail-493812.html

到了這里,關(guān)于C# 圖片轉(zhuǎn)PDF,PDF增加水印文字的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Java pdf添加文字水印

    Java pdf添加文字水印

    最近在開發(fā)一個項目,其中就有導出的功能,而甲方提了一個需求,要對導出的pdf加文字水印,所以我就加班了整整10分鐘肝出了這個功能,既然做出來了就和大家分享一下吧,拿走不謝?。?! 總共就三步,非常簡單 1.導入maven依賴 2.PDF增加水印工具類 3.運行工具類下面的m

    2024年02月12日
    瀏覽(30)
  • 如何通過C++ 給PDF文檔添加文字水印

    如何通過C++ 給PDF文檔添加文字水印

    因PDF文檔具有較好的穩(wěn)定性和兼容性,現(xiàn)在越來越多的合同、研究論文、報告等都采用PDF格式。為了進一步保護這些重要文檔內(nèi)容免受未經(jīng)授權(quán)的復制或使用,我們可以添加水印以表明其狀態(tài)、所有權(quán)或用途。針對工作中可能出現(xiàn)的在 C++ 應(yīng)用程序中給 PDF 文檔添加文字水印的

    2024年02月05日
    瀏覽(23)
  • 基于pdfbox實現(xiàn)的pdf添加文字水印工具

    最近有個需求需要給pdf加文字水印,于是開始搜索大法,但是發(fā)現(xiàn)網(wǎng)絡(luò)上的代碼基本都是將字體文件直接放在jar包里面。個人強迫癥發(fā)作(手動狗頭),想要像poi一樣直接加載系統(tǒng)字體,于是研究了一下午pdfbox的源代碼,發(fā)現(xiàn) FontFileFinder 類可以實現(xiàn)這個功能。廢話不多說,直

    2023年04月11日
    瀏覽(27)
  • Python操作Word水?。禾砑游淖只驁D片水印

    Python操作Word水?。禾砑游淖只驁D片水印

    在Word文檔中,可以添加半透明的圖形或文字作為水印,以保護文檔的原創(chuàng)性,防止未經(jīng)授權(quán)的復制或使用。除了提供安全功能外,水印還可以展示文檔創(chuàng)作者的信息、附加的文檔信息,或者僅用于文檔的裝飾。本文將介紹如何使用 Spire.Doc for Python 在程序中的輕松 添加文字和

    2024年02月08日
    瀏覽(24)
  • Java 使用 poi 和 aspose 實現(xiàn) word 模板數(shù)據(jù)寫入并轉(zhuǎn)換 pdf 增加水印

    Java 使用 poi 和 aspose 實現(xiàn) word 模板數(shù)據(jù)寫入并轉(zhuǎn)換 pdf 增加水印

    本項目所有源碼和依賴資源都在文章頂部鏈接,有需要可以下載使用 1. 需求描述 從指定位置讀取一個 word 模板 獲取業(yè)務(wù)數(shù)據(jù)并寫入該 word 模板,生成新的 word 文檔 將新生成的 word 文檔轉(zhuǎn)換為 pdf 格式 對 pdf 文檔添加水印 2. 效果預覽 word 模板 帶水印的 pdf 文檔 3. 實現(xiàn)思路

    2024年02月08日
    瀏覽(29)
  • Opencv基于文字檢測去圖片水印

    Opencv基于文字檢測去圖片水印

    做了一個簡單的去水印功能,基于文字檢測去圖片水印。效果如下: 插件功能代碼參考如下: 《QT 插件化圖像算法研究平臺》其它內(nèi)容: 歡迎廣大朋友溝通交流,微信/QQ:23245175,加好友,請備注:插件軟件。

    2024年01月20日
    瀏覽(20)
  • Python代碼學習之給圖片添加文字或圖片水印

    Python代碼學習之給圖片添加文字或圖片水印

    圖片加水印有什么好處?在現(xiàn)今的數(shù)字化時代,網(wǎng)絡(luò)上的圖片泛濫,盜圖現(xiàn)象也越來越嚴重。因此,在發(fā)布文章時,為了保護自己的原創(chuàng)作品版權(quán),很多人選擇使用水印來保護他們的圖片。這樣就能更好地做到: 1.版權(quán)保護:在商業(yè)用途的照片中添加水印可以幫助保護作者的

    2024年02月09日
    瀏覽(20)
  • python3去除圖片中的文字水印

    python3去除圖片中的文字水印

    以下為代碼: 可根據(jù)水印顏色,將np.clip(1.4 * img + 20, 0, 255)中的1.4更改為1.1~1.7,20更改為-40~40,從而達到更好的效果。

    2024年01月25日
    瀏覽(26)
  • canvas 自定義畫布,在畫布上增加(邊框 圖片 文字 )

    canvas 自定義畫布,在畫布上增加(邊框 圖片 文字 )

    先說下我的功能需求: 通過畫布,自定義一個區(qū)域大小,在這個區(qū)域內(nèi):添加背景圖片、圖中圖疊加、畫內(nèi)外邊框、設(shè)置文字(文字的字體和大小顏色) 效果圖 背景圖片就是鳴人和雛田,右下角的屬于圖中圖疊加效果,左下和右下都是分別畫的兩個區(qū)域框 不需要用到上傳圖

    2024年02月05日
    瀏覽(22)
  • Qt音視頻開發(fā)47-文字和圖片水?。纱鎯Φ組P4中)

    近期花了兩周時間閉門啃硬骨頭,主要就解決三個問題(音視頻同步存儲和推流、圖片水印并將水印信息存儲到文件或者推流、rtsp推流),這三個問題困擾了很多年,以至于找遍了網(wǎng)絡(luò)和翻遍ffplay代碼以及ffmpeg示例的代碼,通過不下于上百次方案的調(diào)整和測試,幾乎每次都是

    2024年02月16日
    瀏覽(43)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包