Skip to main content

Create word documents in C#.NET using Spire.Doc .NET library

Create word documents in C#.NET using Spire.Doc .NET library

Sometimes in our application we need to create word documents where we can create different types of documents and can perform many operations them related to formatting, conversion etc. Spire.Doc is a .NET library where we can create, read, write, convert and print Word documents files using .NET platform (C#, B.NET, ASP.NET). Here we do not require Microsoft word to be installed on the system. But we will need MS Word viewer to view resultant document. Spire.Doc also gives us the functionlities to convert document files to XML, RYF, TXT, XPS, EPUB, EMF, HTML, PDF and vice versa.


Here we will discuss creating a word document using Spire.Doc library in  C#.NET forms and its conversion to PDF file format.
Setup of Spire.Doc can be downloaded from http://www.e-iceblue.com/Download/download-word-for-net-now.html. After installing Spire.Doc library add  SpireDoc.dll in reference of the project. Choose suitable dll as per the project type and used .NET framework.

Create word document and convert it in PDF

using System;
using System.Windows.Forms;
using Spire.Doc;
using Spire.Doc.Documents;

namespace SpireDocTest
{
    public partial class form1: Form
    {
        public form1()
        {
            InitializeComponent();
        }

        private void form1_Load(object sender, EventArgs e)
        {
            //Create word document
            Document document = new Document();

            //Create a new section
            Section section = document.AddSection();

            //Create a new paragraph
            Paragraph paragraph = section.AddParagraph();


             String p1 = "Microsoft Word is a word processor designed by Microsoft. "
                + "It was first released in 1983 under the name Multi-Tool Word for Xenix systems. "
                + "Subsequent versions were later written for several other platforms including "
                + "IBM PCs running DOS (1983), the Apple Macintosh (1984), the AT&T Unix PC (1985), "
                + "Atari ST (1986), SCO UNIX, OS/2, and Microsoft Windows (1989). ";

            //Append Text
            paragraph.AppendText("Hello World!");
   section.AddParagraph().AppendText(p1).CharacterFormat.FontSize = 14;

            //Save doc file.
            document.SaveToFile("SpireSample.doc", FileFormat.Doc);

            //Launching the MS Word file.
            FileViewer("SpireSample.doc");

        }

private void button1_Click(object sender, EventArgs e)
        {
            //Create word document
            Document document = new Document();

            //load a document
            document.LoadFromFile(@"SpireSample.doc");

            //Save doc file to pdf.
            document.SaveToFile("Sample.pdf", FileFormat.PDF);

            //Launching the pdf reader to open.
            FileViewer("Sample.pdf");
        }

        private void FileViewer(string fileName)
        {
            try
            {
                System.Diagnostics.Process.Start(fileName);
            }
            catch { }
        }
    }
}

In the above code we are creating a simple document "SpireSample.doc" and then opening it in a MS Word viewer on the form load and button click we are saving that document in pdf format.

Spire.Doc is very useful .net library. It contains lot of functionalities related to document creation. Here we can find more details http://www.e-iceblue.com/Introduce/word-for-net-introduce.html

Comments

  1. Create word documents in C#.NET using iDiTect.PDF .NET library https://www.iditect.com/tutorial/word-document/, no need office interop, can be run in the asp.net application in your server

    ReplyDelete

Post a Comment

Popular posts from this blog

Show Image on canvas HTML5

Here is the sample code to select image from system and display it on html5 canvas and javascript: <input type= "file" id= "selectedImage" /> <canvas id= "myCanvas" width= "500" height= "500" > </canvas> Javascript code: $( "#selectedImage" ).change( function (e) { var URL = window .URL; var url = URL.createObjectURL(e.target.files[ 0 ]); img.src = url; img.onload = function () { var canvas = document .getElementById( "myCanvas" ); var ctx = canvas.getContext( "2d" ); var imgSize = calculateAspectRatioFit(img.width, img.height, canvas.clientWidth, canvas.clientHeight); ctx.clearRect( 0 , 0 , canvas.width, canvas.height); ctx.drawImage(img, 0 , 0 , imgSize.width, imgSize.height); } }); function calculateAspectRatioFit(srcWidth, srcHeight, maxWidth, maxHeight) { var ratio = Math .min(maxWi

Pass byte array from C# to C++ and vice-versa

Pass byte array from C# to C++                           If you want to pass a byte array to native DLL as parameter, you can use the Intptr to do this, please check the demo below. /C++ API code: TestDLL_API void TestArrayPara (BYTE * pArray, int nSize) { for ( int i= 0 ; i<nSize; i++) printf( "%d\n" , pArray[i]); } //C# code: class TestClass { [DllImport(@"TestDll.dll")] public static extern void TestArrayPara (IntPtr pArray, int nSize); public static void Test () { byte [] array = new byte [ 16 ]; for ( int i = 0 ; i < 16 ; i++) { array[i] = ( byte )(i + 97 ); } int size = Marshal.SizeOf(array[ 0 ]) * array.Length; IntPtr pnt = Marshal.AllocHGlobal(size); try { // Copy the array to unmanaged memory. Marshal.Copy(array, 0 , pnt, array

Display Tooltip for Combo Box item C#.NET Winforms

In windows form combo box control sometimes while adidng items dynamically we have items whose width is greater than width of combox box control. In this case for making UI more user friendly we can show tooltip over such item. Here is the sample C# code to display such tooltip:  Add a Tooltip control on the form.  Add following code : this . combo_box1 . DropDownStyle = System . Windows . Forms . ComboBoxStyle . DropDownList; this . combo_box1 . DrawMode = DrawMode . OwnerDrawFixed; this . combo_box1 . DrawItem += new DrawItemEventHandler(combo_box1_DrawItem); this . combo_box1 . DropDownClosed += new EventHandler(combo_box1_DropDownClosed); this . combo_box1 . MouseLeave += new EventHandler(combo_box1_Leave); void combo_box1_DrawItem( object sender, DrawItemEventArgs e) { if (e . Index < 0 ) { return ; } string text = combo_box1 . GetItemText(combo_box1 . Items[e . Index