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

JAVA-創(chuàng)建PDF文檔

這篇具有很好參考價(jià)值的文章主要介紹了JAVA-創(chuàng)建PDF文檔。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

一、前期準(zhǔn)備

1、中文字體文件

2、maven依賴

二、創(chuàng)建PDF文檔方法

三、通過可填充PDF模板將業(yè)務(wù)參數(shù)進(jìn)行填充

1、?設(shè)置可填充的PDF表單

2、代碼開干,代碼填充可編輯PDF并另存文件



一、前期準(zhǔn)備

1、中文字體文件

本演示使用的是iText 7版本,如果沒有中文字體,那生成的PDF文檔涉及中文的區(qū)域都無法顯示。

現(xiàn)有查找到的PDF免費(fèi)下載網(wǎng)址如下:

  • 阿里巴巴矢量圖標(biāo)庫:除了圖標(biāo)庫,該網(wǎng)站還提供了一些免費(fèi)的字體庫供下載和使用。
  • 字由:字由是一個(gè)專注于中文字體的網(wǎng)站,提供了一些優(yōu)質(zhì)的免費(fèi)字體供下載。
  • 字體中國(guó):字體中國(guó)是一個(gè)提供中文字體下載的網(wǎng)站,包含了許多中文設(shè)計(jì)師的作品。
  • 站長(zhǎng)之家字體庫:站長(zhǎng)之家提供了大量的免費(fèi)字體庫,包含了各種中文字體和英文字體。

2、maven依賴

    <dependencies>

        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>itext7-core</artifactId>
            <version>7.2.5</version>
            <type>pom</type>
        </dependency>

        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>kernel</artifactId>
            <version>7.2.5</version>
        </dependency>

    </dependencies>

二、創(chuàng)建PDF文檔方法

import com.itextpdf.io.image.ImageDataFactory;
import com.itextpdf.kernel.events.Event;
import com.itextpdf.kernel.events.IEventHandler;
import com.itextpdf.kernel.events.PdfDocumentEvent;
import com.itextpdf.kernel.font.PdfFont;
import com.itextpdf.kernel.font.PdfFontFactory;
import com.itextpdf.kernel.geom.Rectangle;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfPage;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.kernel.pdf.canvas.PdfCanvas;
import com.itextpdf.layout.Canvas;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Cell;
import com.itextpdf.layout.element.Image;
import com.itextpdf.layout.element.Paragraph;
import com.itextpdf.layout.element.Table;
import com.itextpdf.layout.properties.HorizontalAlignment;
import com.itextpdf.layout.properties.TextAlignment;
import com.itextpdf.layout.properties.UnitValue;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.net.MalformedURLException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;

public class CreatePdf {

    //文件根目錄
    public static String RootPath = "D:/files-pdf/";
    // 設(shè)置字體文件路徑
    //注意:如果沒有中文字體,那PDF內(nèi)容涉及中文的區(qū)域都不顯示
    public static String fontPath = RootPath + "ZiTiQuanWeiJunHei-W1-2.ttf";

    public static void main(String[] args) {

        String pdfName = "testContent.pdf";

        // 創(chuàng)建 PdfWriter 和 PdfDocument
        PdfWriter writer = null;
        try {
            writer = new PdfWriter(pdfName + ".pdf");
        } catch (FileNotFoundException e) {
            System.out.println("創(chuàng)建PdfWriter失敗。。。。。");
            e.printStackTrace();
            return;
        }

        PdfDocument pdfDocument = new PdfDocument(writer);

        // 創(chuàng)建 Document
        Document document = new Document(pdfDocument);

        // 設(shè)置頁面的邊距
        documentMargins(document);

        // 設(shè)置頁眉和頁腳
        headerAndFooter(pdfDocument);

        //編寫PDF主體的文檔內(nèi)容 , 這一塊是主要編寫位置
        setContent(document);

        //添加水印
        addWatermark(pdfDocument);

        // 關(guān)閉對(duì)象
        document.close();   //document文檔要在輸出前關(guān)閉,不然會(huì)提示“java.nio.file.NoSuchFileException: editable.pdf”
        pdfDocument.close();

        // 將生成的 PDF 文件移動(dòng)到指定目錄下
        downloadPdf(RootPath, pdfName);
    }

    /**
     * 獲取設(shè)置的字體
     *
     * @return PdfFont 字體
     */
    private static PdfFont getFont() {
        // 設(shè)置中文字體
        PdfFont font = null;
        try {
            font = PdfFontFactory.createFont(fontPath);
        } catch (IOException e) {
            System.out.println("字體獲取失敗。。。。。。。。。。。");
            e.printStackTrace();
            return null;
        }
        return font;
    }

    /**
     * 設(shè)置頁面的邊距
     *
     * @param document 內(nèi)容文檔
     */
    private static void documentMargins(Document document) {
        // 上、右、下、左
        int margins = 80;
        document.setMargins(margins, margins, margins, margins);
    }

    /**
     * 設(shè)置頁眉頁腳
     *
     * @param pdfDocument PDF文檔
     */
    private static void headerAndFooter(PdfDocument pdfDocument) {

        pdfDocument.addEventHandler(PdfDocumentEvent.START_PAGE, new IEventHandler() {

            @Override
            public void handleEvent(Event event) {
                PdfDocumentEvent docEvent = (PdfDocumentEvent) event;
                PdfPage page = docEvent.getPage();
                PdfCanvas canvas = new PdfCanvas(page);

                // 創(chuàng)建頁眉
                Rectangle pageSize = page.getPageSize();

                canvas.beginText()
                        .setFontAndSize(getFont(), 10)
                        .moveText(pageSize.getWidth() / 2, pageSize.getTop() - 20)
                        .showText("這是頁眉")
                        .endText();

                // 創(chuàng)建頁腳
                canvas.beginText()
                        .setFontAndSize(getFont(), 10)
                        .moveText(pageSize.getWidth() / 2, pageSize.getBottom() + 20)
                        .showText("這是頁腳")
                        .endText();

                canvas.release();
            }
        });
    }


    /**
     * 添加水印
     *
     * @param pdfDocument PDF文檔
     * @throws MalformedURLException
     */
    private static void addWatermark(PdfDocument pdfDocument) {

        // 加載水印圖片
        String watermarkImage = RootPath + "zm5.jpg";
        Image image = null;
        try {
            image = new Image(ImageDataFactory.create(watermarkImage));
        } catch (MalformedURLException e) {
            System.out.println("獲取水印圖片失敗 , e : " + e);
            e.printStackTrace();
            return;
        }

        // 獲取 PDF 頁面的大小,此處是要以頁面區(qū)域做參考,后續(xù)好設(shè)置對(duì)應(yīng)的坐標(biāo)填充水印
        Rectangle rectanglePageSize = pdfDocument.getDefaultPageSize();

        // 遍歷每個(gè)頁面,添加水印
        for (int i = 1; i <= pdfDocument.getNumberOfPages(); i++) {
            //創(chuàng)建PDF畫布
            PdfCanvas pdfCanvas = new PdfCanvas(pdfDocument.getPage(i));

            // 創(chuàng)建 Canvas 畫布對(duì)象,設(shè)置位置和大小
            Canvas canvas = new Canvas(pdfCanvas, rectanglePageSize, true);

            // 在水印畫布上添加圖片,并設(shè)置透明度和位置
            // 上、右、下、左
            image.setOpacity(0.8f).setMargins(600, 200, 0, 300);
            canvas.add(image);

            // 關(guān)閉水印畫布
            canvas.close();
        }
    }

    /**
     * 生成的 PDF 文件移動(dòng)到指定目錄下
     *
     * @param rootPath 存儲(chǔ)目錄
     * @param pdfName  PDF文件名
     * @return
     */
    private static String downloadPdf(String rootPath, String pdfName) {

        // 假設(shè)生成的 PDF 文件路徑為 sourcePath
        Path sourcePath = Paths.get(pdfName + ".pdf");
        // 假設(shè)目標(biāo)目錄路徑為 targetDirectoryPath
        Path targetDirectoryPath = Paths.get(rootPath);
        // 移動(dòng)文件到目標(biāo)目錄
        Path targetPath = null;
        try {
            targetPath = Files.move(sourcePath, targetDirectoryPath.resolve(sourcePath.getFileName()), StandardCopyOption.REPLACE_EXISTING);
            // 輸出成功信息
            System.out.println("文件移動(dòng)成功,目標(biāo)路徑:" + targetPath);
            return targetPath.toString();
        } catch (IOException e) {
            // 輸出失敗信息
            System.out.println("文件移動(dòng)失敗,目標(biāo)路徑:" + targetPath);
            e.printStackTrace();
            return null;
        }
    }

    /**
     * PDF主體內(nèi)容
     *
     * @param document 文檔
     */
    private static void setContent(Document document) {

        // 設(shè)置中文字體
        PdfFont font = getFont();

        /********************************  段落內(nèi)容由 Paragraph 區(qū)域編寫 ******************************************/
        // 創(chuàng)建段落標(biāo)題
        Paragraph paragraphTitle = new Paragraph().setFont(font);
        // setBold:設(shè)置粗體,setItalic:斜體,setUnderline:下劃線
        paragraphTitle.add("這是一份PDF測(cè)試文檔").setBold().setFontSize(12);
        // 設(shè)置段落的對(duì)齊方式為居中
        paragraphTitle.setTextAlignment(TextAlignment.CENTER);
        document.add(paragraphTitle);

        // 創(chuàng)建一個(gè)可編輯的段落
        Paragraph nameOfStaff = new Paragraph().setFont(font).setFontSize(10);
        nameOfStaff.add("Name of Developer / 開發(fā)人員:");
        document.add(nameOfStaff);

        Paragraph fullname = new Paragraph().setFont(font).setFontSize(10);
        fullname.add("____________________(Note: 請(qǐng)寫全名)");
        document.add(fullname);

        Paragraph paragraph1 = new Paragraph().setFont(font).setFontSize(9);
        paragraph1.add("這是段落內(nèi)容!這是段落內(nèi)容!這是段落內(nèi)容!這是段落內(nèi)容!這是段落內(nèi)容!這是段落內(nèi)容!這是段落內(nèi)容!這是段落內(nèi)容!這是段落內(nèi)容!" +
                "這是段落內(nèi)容!這是段落內(nèi)容!這是段落內(nèi)容!這是段落內(nèi)容!這是段落內(nèi)容!這是段落內(nèi)容!這是段落內(nèi)容!這是段落內(nèi)容!這是段落內(nèi)容!這是段落內(nèi)容!" +
                "這是段落內(nèi)容!這是段落內(nèi)容!這是段落內(nèi)容!這是段落內(nèi)容!這是段落內(nèi)容!這是段落內(nèi)容!這是段落內(nèi)容!這是段落內(nèi)容!這是段落內(nèi)容!這是段落內(nèi)容!" +
                "這是段落內(nèi)容!這是段落內(nèi)容!這是段落內(nèi)容!這是段落內(nèi)容!這是段落內(nèi)容!這是段落內(nèi)容!這是段落內(nèi)容!這是段落內(nèi)容!這是段落內(nèi)容!這是段落內(nèi)容!" +
                "這是段落內(nèi)容!這是段落內(nèi)容!這是段落內(nèi)容!這是段落內(nèi)容!這是段落內(nèi)容!這是段落內(nèi)容!這是段落內(nèi)容!這是段落內(nèi)容!這是段落內(nèi)容!這是段落內(nèi)容!");
        document.add(paragraph1);

        Paragraph declare = new Paragraph().setFont(font).setFontSize(9);
        declare.add("I hereby declare that:");
        document.add(declare);

        Paragraph section = new Paragraph().setFont(font).setFontSize(9).setBold().setUnderline();
        section.add("多選項(xiàng)聲明確認(rèn)!Multiple option declaration confirmation!");
        document.add(section);

        // 創(chuàng)建一個(gè)帶有復(fù)選框的列表
        Paragraph paragraph2 = new Paragraph().setFont(font).setFontSize(9);
        paragraph2.add("(Please tick in the box as appropriate)").add("\n");
        paragraph2.add("口 聲明內(nèi)容1。。。聲明內(nèi)容1。。。聲明內(nèi)容1。。。聲明內(nèi)容1。。。聲明內(nèi)容1。。。聲明內(nèi)容1。。。").add("\n");
        paragraph2.add("口 聲明內(nèi)容2。。。聲明內(nèi)容2。。。聲明內(nèi)容2。。。聲明內(nèi)容2。。。聲明內(nèi)容2。。。聲明內(nèi)容2。。。").add("\n");
        document.add(paragraph2);


        /********************************  表格由 Table 區(qū)域編寫 ******************************************/
        // 創(chuàng)建表格并設(shè)置列數(shù)和默認(rèn)寬度
        Table table = new Table(4);
//            table.setMaxWidth(1000);  //固定式寬度
//            table.setAutoLayout();    //根據(jù)內(nèi)容自適應(yīng)寬度
        table.setWidth(UnitValue.createPercentValue(100));  //頁面總寬固定
        // 添加表格標(biāo)題(合并4列)
        Cell titleCell = new Cell(1, 4);
        // 創(chuàng)建文本對(duì)象
        titleCell.add(new Paragraph("Table Title"));
        titleCell.setTextAlignment(TextAlignment.CENTER);
        table.addHeaderCell(titleCell);

        // 添加表頭
        table.addHeaderCell("Header 1");
        table.addHeaderCell("Header 2");
        table.addHeaderCell("Header 3");
        table.addHeaderCell("Header 4");

        // 添加表格內(nèi)容
        for (int i = 0; i < 3; i++) {
            for (int j = 0; j < 4; j++) {
                Cell cell = new Cell()
                        .setFont(font)
                        .add(new Paragraph("行 " + (i + 1) + ", Col " + (j + 1)))
                        .setWidth(UnitValue.createPercentValue(25));
                table.addCell(cell);
            }
        }
        // 設(shè)置表格樣式
        table.setHorizontalAlignment(HorizontalAlignment.CENTER);

        // 將表格添加到文檔中
        document.add(table);

        /********************************  內(nèi)容區(qū)域編寫END ******************************************/
    }

}

三、通過可填充PDF模板將業(yè)務(wù)參數(shù)進(jìn)行填充

1、?設(shè)置可填充的PDF表單

至于編輯器自行查找,免費(fèi)的基本大多會(huì)添加水印。

JAVA-創(chuàng)建PDF文檔

設(shè)置成功后,如下圖,可編輯區(qū)高亮顯示

JAVA-創(chuàng)建PDF文檔

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

2、代碼開干,代碼填充可編輯PDF并另存文件

import com.itextpdf.forms.PdfAcroForm;
import com.itextpdf.kernel.font.PdfFont;
import com.itextpdf.kernel.font.PdfFontFactory;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfReader;
import com.itextpdf.kernel.pdf.PdfWriter;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class FillingPdfTemplate {

    //文件根目錄
    public static String RootPath = "D:/files-pdf/";
    // 設(shè)置字體文件路徑
    //注意:如果沒有中文字體,那PDF內(nèi)容涉及中文的區(qū)域都不顯示
    public static String fontPath = RootPath + "ZiTiQuanWeiJunHei-W1-2.ttf";


    public static void main(String[] args) {
        Map<String, String> mapParam = new HashMap<>();
        mapParam.put("fullname", "某某某");
        mapParam.put("Check Box1","On");
        mapParam.put("Check Box2", "Off");
        mapParam.put("account1", "account1");
        mapParam.put("broker1", "broker1");
        mapParam.put("number1", "number1");
        mapParam.put("security1", "security1");
        mapParam.put("sharehold1", "sharehold1");
        mapParam.put("clp1", "clp1");
        mapParam.put("shares1", "shares1");
        mapParam.put("sharehold3", "");
        mapParam.put("clp3", "");
        mapParam.put("shares3", "");
        mapParam.put("name1", "某某某");
        mapParam.put("position", "XXX高級(jí)");
        mapParam.put("company", "深圳市XXX科技有限公司");
        mapParam.put("date", "2023-05-24");

        String templatePdfPath = RootPath + "Acrobat-demo.pdf";
        String destPdfPath = RootPath + "Acrobat-demo-result.pdf";
        replaceTextFieldPdf(templatePdfPath, destPdfPath, mapParam);
    }

    /**
     * 獲取設(shè)置的字體
     *
     * @return PdfFont 字體
     */
    private static PdfFont getFont() {
        // 設(shè)置中文字體
        PdfFont font = null;
        try {
            font = PdfFontFactory.createFont(fontPath);
        } catch (IOException e) {
            System.out.println("字體獲取失敗。。。。。。。。。。。");
            e.printStackTrace();
            return null;
        }
        return font;
    }

    /**
     * 替換PDF文本表單域變量
     *
     * @param templatePdfPath 要替換的pdf全路徑
     * @param params          替換參數(shù)
     * @param destPdfPath     替換后保存的PDF全路徑
     * @throws IOException
     */
    public static final void replaceTextFieldPdf(String templatePdfPath, String destPdfPath,
                                                 Map<String, String> params) {

        PdfDocument pdfDoc = null;
        try {
            pdfDoc = new PdfDocument(new PdfReader(templatePdfPath), new PdfWriter(destPdfPath));
        } catch (IOException e) {
            e.printStackTrace();
        }

        //獲取表單信息
        PdfAcroForm pdfAcroForm = PdfAcroForm.getAcroForm(pdfDoc, true);

        //遍歷填充預(yù)設(shè)的值
        Set<Map.Entry<String, String>> entries = params.entrySet();
        entries.stream().forEach(entry -> {
            if(pdfAcroForm.getField(entry.getKey()) != null){
                // 設(shè)置表單字段的值
                //復(fù)選框類型的:1勾選,2圓圈,3叉叉,4菱形,5方塊,6星星
                //如果不想復(fù)選框被選中,要設(shè)置為"Off",選中設(shè)置為"On",注意大小寫
                pdfAcroForm.getField(entry.getKey()).setCheckType(1).setValue(entry.getValue() , true).setFont(getFont());
            }
        });
        // 添加表單字段
//        PdfTextFormField textField = PdfFormField.createText(pdfDoc, new Rectangle(100, 100, 200, 20), "newField", "");
//        pdfAcroForm.addField(textField);
        //表單扁平化,設(shè)置后生成的文檔不可再編輯
//        pdfAcroForm.flattenFields();
        pdfDoc.close();
    }


}

到了這里,關(guān)于JAVA-創(chuàng)建PDF文檔的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • java超簡(jiǎn)單實(shí)現(xiàn)文檔在線預(yù)覽功能,支持word\excel\text\pdf\圖片等格式轉(zhuǎn)pdf,aspost 轉(zhuǎn)pdf部署linux中文亂碼解決方案

    java超簡(jiǎn)單實(shí)現(xiàn)文檔在線預(yù)覽功能,支持word\excel\text\pdf\圖片等格式轉(zhuǎn)pdf,aspost 轉(zhuǎn)pdf部署linux中文亂碼解決方案

    一、背景 ????????在工作中需要對(duì)上傳到服務(wù)器的各種類型包括但不限于word、pdf、excel等文件進(jìn)行在線預(yù)覽,前端比較菜搞不定,只能本人親自上。 ? ? ? ? 網(wǎng)上的經(jīng)驗(yàn)比較多也比較亂, 有的只有預(yù)覽,沒有文件格式轉(zhuǎn)換,有的也不說linux存在字體問題, 本文會(huì)直白的給

    2024年04月10日
    瀏覽(596)
  • 搭建openstack前期準(zhǔn)備

    搭建openstack前期準(zhǔn)備

    使用準(zhǔn)備好的centos7.5.1804的版本鏡像搭建兩臺(tái)主機(jī),大致配置如下 安裝好centos后先關(guān)閉防火墻: ?配置本地hosts配置: 然后分別把centos7.5的鏡像和iaas2.4的鏡像掛載上傳到/opt/目錄下,并配置好yum源: ? ?然后安裝ftp 并配置好compute結(jié)點(diǎn)的yum: controller和compute安裝先電的包: ? ? ?然后開

    2024年02月14日
    瀏覽(24)
  • IOS逆向前期環(huán)境準(zhǔn)備筆記

    IOS逆向前期環(huán)境準(zhǔn)備筆記

    ios系統(tǒng)由于效驗(yàn)問題,只能升級(jí)不能降級(jí),需要特別注意, 刷系統(tǒng)可以在愛思上搞定; 越獄推薦使用u盤鏡像及本地啟動(dòng)盤制作: 注意,要進(jìn)去bios,關(guān)閉安全啟動(dòng),不然直接失?。?Checkra1n鏡像:https://share.weiyun.com/kr63NENg 其他工具:https://blog.6ziz.com/jailbreakdownload 參考教程:

    2024年02月11日
    瀏覽(27)
  • MetaGPT前期準(zhǔn)備與快速上手

    MetaGPT前期準(zhǔn)備與快速上手

    大家好,MetaGPT 是基于大型語言模型(LLMs)的多智能體協(xié)作框架,GitHub star數(shù)量已經(jīng)達(dá)到31.3k+。 接下來我們聊一下快速上手 一、環(huán)境搭建 python 環(huán)境最好是 3.9 1.python 環(huán)境 利用 anaconda 創(chuàng)建 python3.9 的虛擬環(huán)境 2. MetaGpt 下載 也可以采取以下方式 二、MetaGPT配置 1.調(diào)用 ChatGPT API

    2024年01月22日
    瀏覽(17)
  • 使用 Git&GitHub 的前期準(zhǔn)備

    使用 Git&GitHub 的前期準(zhǔn)備

    本節(jié)包含 SSh Key 的設(shè)置,從 GitHub 上創(chuàng)建一個(gè)倉庫,并 clone 到本地,然后對(duì)其進(jìn)行更改,提交,同步到倉庫。需要已經(jīng)下載好了 Git ,并且已經(jīng)創(chuàng)建了一個(gè) GitHub 賬戶 1.1 創(chuàng)建 SSH Key 運(yùn)行這條命令,然后直接敲兩次回車就可以。第一次回車是將 SSH 密匙存放在默認(rèn)的路徑下,第

    2024年01月20日
    瀏覽(32)
  • 使用whisper生成音頻字幕——前期準(zhǔn)備

    最近我們要寫一個(gè)把沒有字幕的音頻生成字幕的APP,前期調(diào)研的很多方式,使用whisper可以實(shí)現(xiàn),這篇文章就是說一些前期準(zhǔn)備工作,我就不自己再寫一篇了,參考以下兩篇文章就行了。 whisper安裝下載和python環(huán)境的準(zhǔn)備 安裝過程中踩過的坑

    2024年02月11日
    瀏覽(20)
  • 【UE Sequencer系列】01-前期準(zhǔn)備

    【UE Sequencer系列】01-前期準(zhǔn)備

    新建一個(gè)工程 在虛幻商城中將我們需要的三種資產(chǎn)導(dǎo)入到新建的工程中 打開工程可以看到導(dǎo)入的資產(chǎn) 新建兩個(gè)文件夾,一個(gè)用來存放音頻,一個(gè)用來存放所有的Sequencer 導(dǎo)入音頻(只支持wav格式) 選中聲波,創(chuàng)建一個(gè)sound cue 打開“Forge”關(guān)卡 改變視口布局 第一個(gè)視口選擇“

    2023年04月09日
    瀏覽(27)
  • 番外3:下載+安裝VMware(前期準(zhǔn)備)

    番外3:下載+安裝VMware(前期準(zhǔn)備)

    step1: 查看自己筆記本電腦配置; step2: 下載并安裝VMware (下載地址www.kkx.net/soft/16841.html)這里選擇本地普通下載; step3: 安裝VMware過程中需要填寫密鑰(本人用的最后一個(gè)) ; #UU54R-FVD91-488PP-7NNGC-ZFAX6 #YC74H-FGF92-081VZ-R5QNG-P6RY4 YC34H-6WWDK-085MQ-JYPNX-NZRA2

    2024年02月07日
    瀏覽(19)
  • Rocky(Centos)安裝中文字體(防止中文亂碼)

    Rocky(Centos)安裝中文字體(防止中文亂碼)

    運(yùn)行下列命令 若出現(xiàn),下面截圖,則需要安裝字體管理軟件? 安裝字體庫,運(yùn)行: 當(dāng)看到下圖的提示信息時(shí)說明已安裝成功: 1)windows系統(tǒng)中就可以找到,打開c盤下的Windows/Fonts目錄: 如上圖,我們只需要將我們需要的字體拷貝出來并上傳至linux服務(wù)器即可(例如:宋體和黑

    2024年02月09日
    瀏覽(90)
  • Hyperledger Fabric 應(yīng)用實(shí)戰(zhàn)(1)--前期準(zhǔn)備

    Hyperledger Fabric 應(yīng)用實(shí)戰(zhàn)(1)--前期準(zhǔn)備

    1.1應(yīng)用說明 本應(yīng)用示例基于Hyperledger fabric2.4搭建一個(gè)自由房屋租賃區(qū)塊鏈系統(tǒng)freerent, 用戶可以自由在鏈上開展合同簽訂、執(zhí)行和驗(yàn)真。freerent應(yīng)用背景相對(duì)簡(jiǎn)單,當(dāng)前應(yīng)用搭建示例展示 fabric初級(jí)功能。后期將會(huì)不斷探索 fabric應(yīng)功能特性,也希望可以結(jié)合IPFS實(shí)現(xiàn)合同存儲(chǔ),

    2024年01月25日
    瀏覽(29)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包