Thursday, December 31, 2020
  • Home
    • Donate
    • Liên Hệ Tân Hồng IT
    • Yêu Cầu Phần Mềm, Thủ Thuật
    • Hướng dẫn tải File
  • Tài Liệu
  • Phần Mềm
  • Công cụ
  • Thủ Thuật
  • Download
  • Giải trí
  • Kiến thức
Tân Hồng IT
  • Home
    • Liên Hệ TanHongIT – các bạn có thể liên hệ với TanHongIT.Net Tại Đây
    • Donate – TanHongIT.Net
    • Yêu Cầu Phần Mềm, Thủ Thuật
    • Hướng dẫn tải File, phần mềm và các loại tài liệu khác trên TanHongIT.Net
  • Orther
    • Tool Online
      • Test Code Online
      • EnCoder SVG
      • HTML Converter
    • ShareVui – Online Movies
  • Tài Liệu
  • Code
    • PHP
    • Java
    • JavaScript
  • Kiến thức
  • Phần Mềm
  • Công cụ
  • Thủ Thuật
  • Download
  • Giải trí
No Result
View All Result
  • Home
    • Liên Hệ TanHongIT – các bạn có thể liên hệ với TanHongIT.Net Tại Đây
    • Donate – TanHongIT.Net
    • Yêu Cầu Phần Mềm, Thủ Thuật
    • Hướng dẫn tải File, phần mềm và các loại tài liệu khác trên TanHongIT.Net
  • Orther
    • Tool Online
      • Test Code Online
      • EnCoder SVG
      • HTML Converter
    • ShareVui – Online Movies
  • Tài Liệu
  • Code
    • PHP
    • Java
    • JavaScript
  • Kiến thức
  • Phần Mềm
  • Công cụ
  • Thủ Thuật
  • Download
  • Giải trí
No Result
View All Result
Tân Hồng IT
No Result
View All Result
Home C Sharp

Cách tạo và ghi file Word, PDF trong C# với thư viện Spire.Doc, Spire.PDF

Tân Hồng IT by Tân Hồng IT
22/10/2019
in C Sharp, C++, Code, Code Web, Development, Kiến thức, Kiến Thức Lập Trình
Reading Time: 10Phút đọc
A A
0
QUẢNG CÁO

Có nhiều cách để tạo 1 và ghi vào file Word (DOC, DOCX) hoặc PDF với C#, trong đó cách thuận tiện nhất là dùng thư viện Spire.Doc của e-iceblue. Trang web này cung cấp 2 nhóm sản phẩm: 1 nhóm miễn phí và 1 nhóm thương mại. Trong bài này chúng ta sẽ sử dụng thư viện Spire.Doc miễn phí, thư viện này giới hạn 500 đoạn và 25 bảng trong 1 tập tin Word và PDF, đủ để tạo 1 tập tin có dung lượng vừa phải.

write file word pdf c# c sharp

Đầu tiên, chúng ta tải 2 thư viện Spire.Doc và Spire.PDF bản miễn phí ở địa chỉ: https://www.e-iceblue.com/Download/download-word-for-net-free.html và https://www.e-iceblue.com/Download/download-pdf-for-net-free.html.

Hoặc bạn tải về theo link google drive mình chuẩn bị sẵn    Tại Đây

Bạn hãy tạo 1 dự án C# Console và nhúng thư viện này vào dự án vừa tạo.

Mục Lục Bài Viết

  • Cách Cài đặt trực tiếp Spire.Doc, Spire.PDF vào Windows.
  • Tạo file word và ghi 1 đoạn văn bản trong C#
    • Thêm 1 đoạn mới vào file Word C Sharp
    • Canh Tab
    • Chèn hình
    • Thêm bảng biểu
  • Tạo file word và ghi 1 đoạn văn bản nhập từ bàn phím trong C#

Cách Cài đặt trực tiếp Spire.Doc, Spire.PDF vào Windows.

Bạn tạo 1 Project Console App(.Net Framework)

console app read file excel

Tiếp theo bạn chuột phải vào References và chọn tiếp vào Manage Nuger Packafes…

Manage Nuger Packafes

Sau đó bạn tìm kiếm với từ khóa Spire, nó sẽ sổ ra một list các thư viện, bạn hãy chọn thư viện Spire.Office (Sẽ bao gồm đọc tất cả các file office và cả pdf) hoặc chọn Spire.PDF và Spire.Doc.

Spire.PDF và Spire.Doc

Bạn tiếp tục nhấn Install và nhấn vào I Accept và chờ cho nó tự động cài đặt thư viện vào nhé!

Sau khi cài xong nếu bạn thấy trong References có những thư viện như hình bên dưới thì đã add thành công.

Tạo file word c#

Giờ thì bắt đầu Code.

Tạo file word và ghi 1 đoạn văn bản trong C#

Ví dụ sau tạo 1 đoạn văn bản “Hello World!” in đậm canh giữa vào tập tin mới test.doc (hoặc test.pdf). Tập tin mới sẽ nằm ở thư mục Debug, bạn có thể tùy chỉnh đường dẫn tập tin tùy ý nếu muốn.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Spire.Doc;
using Spire.Pdf;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
 
namespace TestProject
{
    class Program
    {
        static void Main(string[] args)
        {
            // Tạo đối tượng tài liệu (Document)
            Document doc = new Document();
             
            // Tạo đối tượng đoạn (Paragraph)
            Paragraph paragraph = doc.AddSection().AddParagraph();
 
            // Tạo văn bản (TextRange)
            Spire.Doc.Fields.TextRange text = paragraph.AppendText("Hello World!");
            //text.CharacterFormat.Italic = true;  // in nghiêng
            //text.CharacterFormat.UnderlineStyle = UnderlineStyle.Single; // gạch chân
            text.CharacterFormat.Bold = true;                                   // kiểu in đậm
            paragraph.Format.TextAlignment = TextAlignment.Center;              // văn bản canh giữa 
            paragraph.Format.HorizontalAlignment = HorizontalAlignment.Center;  // đoạn canh giữa
            //paragraph.Format.HorizontalAlignment = HorizontalAlignment.Left;  // đoạn canh trái  
            //paragraph.Format.HorizontalAlignment = HorizontalAlignment.Right; // đoạn canh phải
 
            // Lưu đối tượng tài liệu vào tập tin test.doc (nằm ở thư mục Debug của dự án)
            doc.SaveToFile("test.doc", Spire.Doc.FileFormat.Doc);
            // doc.SaveToFile("test.pdf", Spire.Doc.FileFormat.PDF); -- tạo PDF
 
            // đóng đối tượng
            doc.Close();
        }
    }
}

Thêm 1 đoạn mới vào file Word C Sharp

Nhìn lại code trên, tại dòng 21, khi tạo 1 đoạn mới chúng ta dùng đoạn mã Paragraph paragraph = doc.AddSection().AddParagraph();

Tuy nhiên để thêm 1 đoạn mới nữa bạn phải dùng hàm doc.Sections[0].AddParagraph(); như trong ví dụ sau đây.

// đoạn mới tên biến là  paragraph2
Paragraph paragraph2 = doc.Sections[0].AddParagraph();
// tên văn bản mới là text2
Spire.Doc.Fields.TextRange text2 = paragraph2.AppendText("Nhập nội dung đoạn mới");
text2.CharacterFormat.FontSize = 18;
text2.CharacterFormat.Bold = true;

Canh Tab

Để canh Tab thì dùng paragraph2.Format.Tabs.AddTab(175).Justification = TabJustification.Right; với TabJustification.Right là Tab phải và 175 (float) là vị trí Tab, ngoài ra có có Tab trái ở vị trí 375 (Left) và Tab giữa (Centered) chưa được thêm vào.

Paragraph paragraph2 = doc.Sections[0].AddParagraph();
 
// Canh Tab phải vị trí 175
paragraph2.Format.Tabs.AddTab(175).Justification = TabJustification.Right;
paragraph2.Format.Tabs.AddTab(375).Justification = TabJustification.Left;
//paragraph2.Format.Tabs.AddTab(175).Justification = TabJustification.Centered;
// Phải có \t để dịch đến Tab cần canh
Spire.Doc.Fields.TextRange text2 = paragraph2.AppendText("\t Canh phải \t Canh trái");

Chèn hình

Đầu tiên bạn phải thêm thư viện System.Drawing vào dự án (Add Reference), sau đó gọi 2 namespace ở trên đầu file code.

using Spire.Doc.Fields;
using System.Drawing;

Tiếp theo tạo đối tượng Bitmap và DocPicture để thêm hình vào đối tượng Document.

// Tạo đối tượng hình ảnh DocPicture (using using Spire.Doc.Fields;)
DocPicture picture = doc.Sections[0].Paragraphs[0].AppendPicture(b1);
 
// Vị trí ảnh theo chiều dọc, ngang
picture.HorizontalPosition = 50.0F;
picture.VerticalPosition = 200.0F;
 
// Kích thước ảnh
picture.Width = 150;
picture.Height = 100;
 
 // Kiểu chèn ảnh nổi trên văn bản
 picture.TextWrappingStyle = TextWrappingStyle.InFrontOfText;

Thêm bảng biểu

Chúng ta dùng đối tượng Table để tạo bảng, trong đó tạo dòng tiêu đề trước và phần dữ liệu từng dòng sau.

// Dữ liệu mẫu
List<string> list = new List<string> { "One", "True", "Three" };
 
// Tạo đối tượng bảng Table
Spire.Doc.Table table = doc.Sections[0].AddTable(true);
 
// Tạo cột
String[] Header = { "STT", "Tên"};
 
// Số dòng và số cột cho bảng
table.ResetCells(list.Count + 1, Header.Length);
 
// Độ rộng bảng ở dòng 0 và 2 cột STT và Tên (tạo tiêu đề bảng)
doc.Sections[0].Tables[0].Rows[0].Cells[0].Width = 200;
doc.Sections[0].Tables[0].Rows[0].Cells[1].Width = 200;
 
// Tạo dòng tiêu đề cho bảng (dòng 0)
Spire.Doc.TableRow FRow = table.Rows[0];
FRow.IsHeader = true;
FRow.Height = 23;
 
for (int i = 0; i < Header.Length; i++)
{
    // Định dạng cell
    Paragraph p = FRow.Cells[i].AddParagraph();
    FRow.Cells[i].CellFormat.VerticalAlignment = VerticalAlignment.Middle;
    p.Format.HorizontalAlignment = HorizontalAlignment.Center;
 
    // Định dạng văn bản trong bảng
    Spire.Doc.Fields.TextRange TR = p.AppendText(Header[i]);
    TR.CharacterFormat.FontName = "Times New Roman";
    TR.CharacterFormat.FontSize = 13;
    TR.CharacterFormat.Bold = true;
}
 
// Định dạng dữ liệu từng dòng (lấy từ list)
for (int r = 0; r < list.Count; r++)
{
    doc.Sections[0].Tables[0].Rows[r + 1].Cells[0].Width = 200;
    doc.Sections[0].Tables[0].Rows[r + 1].Cells[1].Width = 200;
 
    // Định dạng dòng thứ r + 1 (bỏ dòng đầu là tiêu đề)
    Spire.Doc.TableRow DataRow = table.Rows[r + 1];
    DataRow.Height = 20;
 
    DataRow.Cells[0].CellFormat.VerticalAlignment = VerticalAlignment.Middle;
    Paragraph p1 = DataRow.Cells[0].AddParagraph();
    Spire.Doc.Fields.TextRange TR1 = p1.AppendText((r + 1).ToString()); // STT
    p1.Format.HorizontalAlignment = HorizontalAlignment.Center;
 
    DataRow.Cells[1].CellFormat.VerticalAlignment = VerticalAlignment.Middle;
    Paragraph p2 = DataRow.Cells[1].AddParagraph();
    Spire.Doc.Fields.TextRange TR2 = p2.AppendText(list[r].ToString()); // Tên
    p2.Format.HorizontalAlignment = HorizontalAlignment.Center;
}

Tạo file word và ghi 1 đoạn văn bản nhập từ bàn phím trong C#

Tương tự như đoạn code mẫu bên trên. ở phần này mình có thay đổi một chút xíu đó là những gì cần ghi vào file word sẽ phải nhập từ màn hình Console. Các bạn có thể tham khảo.

using System.Drawing;
using System;
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
using Spire.Doc.Formatting;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;


//ghi text vao file word su dụng phương thức Spire
namespace ghifileword
{
    class Program
    {
        static void Main(string[] args)
        {
            Document doc = new Document();
            Section sec = doc.AddSection();
            Paragraph par = sec.AddParagraph();

            TextBox textBox = par.AppendTextBox(180, 30);
            textBox.Format.VerticalOrigin = VerticalOrigin.Margin;
            textBox.Format.VerticalPosition = 100;
            textBox.Format.HorizontalOrigin = HorizontalOrigin.Margin;
            textBox.Format.HorizontalPosition = 50;
            textBox.Format.NoLine = true;

            CharacterFormat format = new CharacterFormat(doc);
            format.FontName = "Calibri";
            format.FontSize = 15;
            format.Bold = true;

            Paragraph par1 = textBox.Body.AddParagraph();
            string line = "";
            Console.WriteLine("Nhap  chu can ghi vao file word : ");
            line = Console.ReadLine();
            par1.AppendText(line).ApplyCharacterFormat(format);
            doc.SaveToFile("D:/HKIII/1. BTCL/tuan4_chuong2_3/ghifileword/result.docx", FileFormat.Docx);
            doc.SaveToFile("D:/HKIII/1. BTCL/tuan4_chuong2_3/ghifileword/result.doc", FileFormat.Doc);
        }
    }
}

Tài liệu tham khảo:

  • How to Insert Text to Word at Exact Position in C#, VB.NET
  • tạo tệp tin word excel trong c#

 

Nếu các bạn cảm thấy Website TanHongIT.Net thật sự hữu ích mình mong các bạn có thể chia sẻ những bài viết đến cho cộng đồng cùng thao khảo nhé. Cảm ơn các bạn !!!
Các bạn có bất kì thắc mắc cần được hỗ trợ hay yêu cầu các phần mềm, thủ thuật, khoá học,… thì cứ để lại comment bên dưới bài viết hoặc liên hệ qua fanpage của TanHongIT để được hỗ trợ nhé! Mình sẽ cố gắng chia sẻ cho các bạn mọi thứ cần thiết nhất!

Xem thêm:

  • Thuật Toán Tính Tổng Cộng Hai Số Cực Lớn JAVA
  • Khóa Học Thiết Kế Website Với WIX Cho Người Mới Bắt Đầu
  • Download Classic Game Windows 7 dành cho Windows 10 / 8.1
  • Share bộ code web HTML5 tỏ tình đơn giản nhưng thật ngọt ngào
  • Source Code Logo Avata giống Porn Hub đẹp mắt
  • Share Source Code Ma Trận Html Viết Bằng Canvas Tuyệt Đẹp
  • Download Revo Uninstaller Pro Full Repack Update Mới nhất 2019 – Gỡ bỏ phần mềm tiện dụng hiệu quả
  • Chia Sẻ Khóa Học Python Cho Người Mới Bắt Đầu (Python for Beginners: Learn with Examples and Mini-Project)

CHÚC CÁC BẠN THÀNH CÔNG VÀ VUI VẺ

5 / 5 ( 2 votes )
Tags: C SharpC++CodeCode WebDevelopmentKiến thứcKiếnThức Lập Trình
ShareTweetSend
Bài viết trước

Download Windows 10 Version 1909 Build 18363.418 Consumer Edition (ISO x64-x86)

Bài tiếp theo

Tạo và ghi Excel files trong C# sử dụng Open XML và closed XML

Tân Hồng IT

Tân Hồng IT

Không có một lời khuyên hay câu triết lý nào có đủ khả năng để áp đặt vào mọi hoàn cảnh trong cuộc sống của chúng ta cả. Nó luôn có những ngoại lệ riêng biệt...

Liên quan Posts

phuong thuc get post trong php
Backend

Bài 13: Phương thức GET và POST trong PHP

06/02/2020
chuoi string va cac ham xu ly trong php
Backend

Bài 12: Chuỗi (String) Và Các Hàm Xử Lý Chuỗi Trong PHP

25/01/2020
cac ham xu ly mang php
Backend

Bài 11: Các hàm xử lý mảng (Array) trong PHP

19/01/2020 - Updated on 21/01/2020
mang array trong php
Backend

Bài 10: Mảng (Array) Trong PHP

16/01/2020
code web nam moi 2020
Code

Share Code Đếm Ngược Chào Mừng Năm Mới 2020 Với Hiệu Ứng Tuyệt Đẹp

14/01/2020
ham function trong php
Backend

Bài 9: Hàm (Function) Trong PHP

14/01/2020
lenh va function thuong dung trong php
Backend

Bài 8: lệnh Break, Continue và các hàm (function) exit, die thường dùng trong PHP

10/01/2020 - Updated on 11/01/2020
vong lap foreach trong php
Code

Bài 7: Vòng lặp Foreach trong PHP (Các loại vòng lặp phần 2)

01/01/2020 - Updated on 03/01/2020
Bài tiếp theo
write file excel in c sharp

Tạo và ghi Excel files trong C# sử dụng Open XML và closed XML

adobe premiere pro 2020

Download Adobe Premiere Pro 2020 14.0.0.571 - Phần mềm dựng phim chuyên nghiệp

adobe cc 2020

Download Full Bộ Adobe CC 2020 – Video hướng dẫn cài đặt

adobe dreamweaver cc 2020

Download Adobe Dreamweaver CC 2020 - Phần mềm thiết kế trang web chuyên nghiệp

0 0 vote
Article Rating
Subscribe
Đăng nhập
Thông báo về
guest
guest
0 Comments
Inline Feedbacks
View all comments
  • Trending
  • Comments
  • Latest
Tải Và Cách Crack IDM 6.32

Tải Và Cách Crack IDM 6.35 Build 10 Vĩnh Viễn Mới Nhất 2019 – Không Báo Fake Serial [UPDATE]

27/11/2018 - Updated on 14/11/2019
IDM Full Toolkit - Crack IDM Tiện Lợi - Không Báo Fake Serial

IDM Full Toolkit – Crack IDM Tiện Lợi – Không Báo Fake Serial

10/08/2018 - Updated on 14/11/2019
Download DLC Boot 2019 v3.6 - Bộ Công Cụ Tạo USB Boot Đa Năng Cứu Hộ Máy Tính, PC

Download DLC Boot 2019 v3.6 – Bộ Công Cụ Tạo USB Boot Đa Năng Cứu Hộ Máy Tính, PC

15/04/2019 - Updated on 21/08/2019
Download Và Cách Crack Full IDM 6.33

Download Và Cách Crack Full IDM 6.35 Build 10 Vĩnh Viễn Mới Nhất 2019 – Không Báo Fake Serial [UPDATE]

07/05/2019 - Updated on 14/11/2019

Cách đổi trạng thái biểu tượng cảm xúc Angry thành “Dislike ” trên Facebook

124

Chia sẻ Khoá học Adobe InDesign CC – Hướng dẫn đầy đủ cho bạn về InDesign

32

Chia sẻ khóa học Cách giải khối Rubik 3×3 cho người mới bắt đầu

26

[UDEMY] Chia sẻ Khoá học 15 cách học tiếng anh – 15 Ways To Learn English

24
phuong thuc get post trong php

Bài 13: Phương thức GET và POST trong PHP

06/02/2020
chuoi string va cac ham xu ly trong php

Bài 12: Chuỗi (String) Và Các Hàm Xử Lý Chuỗi Trong PHP

25/01/2020
cac ham xu ly mang php

Bài 11: Các hàm xử lý mảng (Array) trong PHP

19/01/2020 - Updated on 21/01/2020
mang array trong php

Bài 10: Mảng (Array) Trong PHP

16/01/2020

Bài Viết Mới

phuong thuc get post trong php

Bài 13: Phương thức GET và POST trong PHP

06/02/2020
chuoi string va cac ham xu ly trong php

Bài 12: Chuỗi (String) Và Các Hàm Xử Lý Chuỗi Trong PHP

25/01/2020
cac ham xu ly mang php

Bài 11: Các hàm xử lý mảng (Array) trong PHP

19/01/2020 - Updated on 21/01/2020
mang array trong php

Bài 10: Mảng (Array) Trong PHP

16/01/2020
code web nam moi 2020

Share Code Đếm Ngược Chào Mừng Năm Mới 2020 Với Hiệu Ứng Tuyệt Đẹp

14/01/2020
ham function trong php

Bài 9: Hàm (Function) Trong PHP

14/01/2020

Mới Cập Nhật

phuong thuc get post trong php

Bài 13: Phương thức GET và POST trong PHP

06/02/2020
chuoi string va cac ham xu ly trong php

Bài 12: Chuỗi (String) Và Các Hàm Xử Lý Chuỗi Trong PHP

25/01/2020
cac kieu du lieu php

Bài 3: Những kiểu dữ liệu trong PHP

07/12/2019 - Updated on 25/01/2020
cac ham xu ly mang php

Bài 11: Các hàm xử lý mảng (Array) trong PHP

19/01/2020 - Updated on 21/01/2020
mang array trong php

Bài 10: Mảng (Array) Trong PHP

16/01/2020
code web nam moi 2020

Share Code Đếm Ngược Chào Mừng Năm Mới 2020 Với Hiệu Ứng Tuyệt Đẹp

14/01/2020

Tân Hồng IT là Trang Chia sẻ Kiến Thức, Tài Liệu, Khóa Học, Công Nghệ Thông Tin, Phần Mềm, Thủ Thuật, Tiện Ích Máy Tính

DMCA.com Protection Status

Donate – Xin Ủng Hộ Đóng Góp

DONATE
Hung1001 | LinuxTeamVN
  • About
  • Donate
  • Contact
  • Download File
  • Request
  • Other

© 2019 Facebook - Chia sẻ Kiến Thức, Công Nghệ Thông Tin , Phần Mềm, Thủ Thuật, Tiện Ích Máy Tính Tân Hồng IT.

No Result
View All Result
  • Home
    • Donate
    • Liên Hệ Tân Hồng IT
    • Yêu Cầu Phần Mềm, Thủ Thuật
    • Hướng dẫn tải File
  • Tài Liệu
  • Phần Mềm
  • Công cụ
  • Thủ Thuật
  • Download
  • Giải trí
  • Kiến thức

© 2019 Facebook - Chia sẻ Kiến Thức, Công Nghệ Thông Tin , Phần Mềm, Thủ Thuật, Tiện Ích Máy Tính Tân Hồng IT.

sponsored
wpDiscuz
0
0
Would love your thoughts, please comment.x
()
x
| Reply