欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Java中PDF轉(zhuǎn)圖片出現(xiàn)亂碼如何解決

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)Java中PDF轉(zhuǎn)圖片出現(xiàn)亂碼如何解決,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),高縣企業(yè)網(wǎng)站建設(shè),高縣品牌網(wǎng)站建設(shè),網(wǎng)站定制,高縣網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,高縣網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

第一種就是在服務(wù)器字體庫添加STSong-Light添字體(理論,因?yàn)闆]找到STSong-Light.ttf文件)

   下載好STSong-Light.ttf文件之后把他復(fù)制到系統(tǒng)的字體庫

    windows字體庫路徑:C:\Windows\Fonts,直接把文件復(fù)制到該目錄下就能自動(dòng)安裝該字體

    linux字體庫路徑: /usr/share/fonts ,把文件復(fù)制過來之后需要該目錄下執(zhí)行以下命令,字體文件可以在Windows的字體庫上找

        #將字體文件拷貝到這個(gè)文件夾下,在cd /usr/share/fonts/目錄下執(zhí)行以下命令        #mkfontscale   
        #mkfontdir
        #fc-cache -fv           //刷新字體緩存        #fc-list    // 查看系統(tǒng)中所有的字體,可用于查看是否安裝字體成功

系統(tǒng)擁有這種字體后就不會(huì)亂碼了。

第二種就是創(chuàng)建PDF文件的時(shí)候使用系統(tǒng)已有的字體

這是使用默認(rèn)字體創(chuàng)建的Font對象,這種字體創(chuàng)建的PDF轉(zhuǎn)的圖片會(huì)亂碼

public static Font getFont(float size) throws Exception {// 使用默認(rèn)字體生成PDF    BaseFont baseFont = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", false);    Font font = new Font(baseFont, size, 0);    return font;}

由這個(gè)Font對象所用的字體 STSong-Light 系統(tǒng)里面沒有造成亂碼,并且STSong-Light的坑太多(例如沒有STSong-Light.ttf文件),所以我們換一種字體

下面的方案有2點(diǎn)需要注意

1.路徑后面必須加上“,0”,否在路徑會(huì)報(bào)錯(cuò)
2.linux包上面如果不存在指定的字體文件,需要從windows復(fù)制到linux的字體庫上,流程和第一種方案的linux復(fù)制字體流程一致

public static Font getFont(float size) throws Exception {//獲取系統(tǒng)字體的路徑    String fontPath = "";    String os = System.getProperties().getProperty("os.name");//獲取系統(tǒng)類型    if (os.startsWith("win") || os.startsWith("Win")) { //win下獲取字體的路徑, fontPath = "C:" + File.separator + "Windows" + File.separator + "Fonts" + File.separator + "simsun.ttc,0";    } else {   // linux下獲取字體的路徑,linux如果沒有該fontPath = File.separator + "usr" + File.separator + "share" + File.separator + "fonts" + File.separator + "simsun.ttc,0";    }logger.info("獲取到的系統(tǒng)的字體路徑為:" + fontPath);    BaseFont b = null;    try {
        b = BaseFont.createFont(fontPath, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);        logger.info("使用系統(tǒng)的宋體字體生成pdf!");    } catch (Exception e) {
        e.printStackTrace();        //如果發(fā)生異常執(zhí)行默認(rèn)的字體        b = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);        logger.info("沒有獲取系統(tǒng)的simsun字體,使用pdf默認(rèn)體字生成pdf!");    }return new Font(b, size, Font.NORMAL, BaseColor.BLACK);}

理論上上面2種方案都可以解決我這個(gè)場景下的問題,但是沒找到STSong-Light.ttf文件,所以只能使用第二種方案了,下面展示下成功轉(zhuǎn)換的效果

<!-- PDF轉(zhuǎn)圖片 --><dependency>   <groupId>org.apache.pdfbox</groupId>   <artifactId>pdfbox</artifactId>   <version>2.0.12</version></dependency><dependency>   <groupId>org.apache.pdfbox</groupId>   <artifactId>fontbox</artifactId>   <version>2.0.12</version></dependency>
public static void createQrCodeImage(){
    File pdfFile = new File("PDF文件路徑");    try {//設(shè)置存儲(chǔ)路徑        String fileAdd = DateUtils.getDateFormatToString(new Date(), "yyyyMMdd");        //讀取pdf文件        PDDocument doc = PDDocument.load(pdfFile);        PDFRenderer renderer = new PDFRenderer(doc);        int pageCount = doc.getNumberOfPages();        for (int i = 0; i < pageCount; i++) {// 方式2,第二個(gè)參數(shù)是設(shè)置縮放比(即像素)            BufferedImage image = renderer.renderImage(i, 1f);  //第二個(gè)參數(shù)越大生成圖片分辨率越高,轉(zhuǎn)換時(shí)間也就越長            //文件路徑            File img = new File("圖片輸入路徑");            // 如果不包含文件夾則創(chuàng)建            if(!img.getParentFile().exists()) img.getParentFile().mkdirs();            ImageIO.write(image, "JPG", img);        }
    } catch (IOException e) {
        e.printStackTrace();    }
}

上述就是小編為大家分享的Java中PDF轉(zhuǎn)圖片出現(xiàn)亂碼如何解決了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)站標(biāo)題:Java中PDF轉(zhuǎn)圖片出現(xiàn)亂碼如何解決
分享網(wǎng)址:http://aaarwkj.com/article16/igijgg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、網(wǎng)站維護(hù)企業(yè)建站、微信公眾號、網(wǎng)站內(nèi)鏈、網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)
国产三级视频网站在线观看| av大全网站免费一区二区| 欧美亚洲另类不卡在线| 另类欧美亚洲中文在线综合| 亚洲av资源一区二区| 国产欧美日韩另类视频| 2023天天操夜夜操| 日本美女午夜福利视频| 久久亚洲av电影网站| 中文字幕av久久激情| 国产成人大片一区二区三区| 日韩国产人妻一区二区| 国产成人激情自拍视频在线观看 | 国产黄片免费高清观看| 日韩欧美亚洲制服丝袜| 久久热最新免费观看视频| 亚洲国产日韩精品av| 午夜草草视频在线观看| 国产成人亚洲一区二区三区| av中文字幕一二三区| 亚洲欧美日韩性生活视频| 国产精品网站在线观看不卡| 国产精品视频黄色一区| 成人免费大片在线观看视频| 91精品手机在线观看| 中文日本强暴人妻另类视频| 妇女人妻丰满少妇中文字幕| 欧美大片免费在线播放| 欧美成人精品视频在线不卡| 亚洲天堂av福利在线观看| 亚洲国产韩国精品在线| 国产一区二区三区百合| 欧美日韩男女性生活视频| 日韩精品二区在线观看| 亚洲av综合日韩精品久久| 91精品国产综合久蜜臂| 日韩精品在线观看你懂的| 中文字幕一区二区三区网站| 久草尤物视频在线观看| 日韩在线一区二区视频观看| 亚洲激情欧美日韩精品|