Convert PDF to DOCX with Preserve Embedded Fonts in C# and .NET


In today's world, where documents act not only as a means of transmitting information, but also as an important aspect of business communications, the ability to quickly and efficiently convert file formats is becoming indispensable. The issue of preserving unique document elements, such as embedded fonts, is particularly acute when converting from PDF to Word. In this article, we will look in detail at how to implement such a process in C# and .NET, using the powerful SautinSoft PDF Focus .NET library.

PDF files are widely used to store static documents, presentations, reports, and contracts where a presentable appearance and accurate display of content are critical. The built-in fonts ensure the same document display on different devices and platforms, while maintaining the original style. When converting PDF to DOCX without saving fonts, there may be problems with displaying text: shifting, changing fonts, or losing the original style.

What is this code useful for:

  • Automation of office processes: conversion of a large number of documents for subsequent editing.
  • Restore the original design: edit the PDF content while preserving the original fonts, if necessary.
  • Ensuring compatibility: preparing documents in DOCX for further editing or publication.
  • Creation of document management systems: integration into corporate solutions for processing standard reports and contracts.

Complete code

using System;
using System.IO;

namespace Sample
{
    class Sample
    {
        static void Main(string[] args)
        {
            // Before starting, we recommend to get a free key:
            // https://sautinsoft.com/start-for-free/
            
            // Apply the key here:
            // SautinSoft.PdfFocus.SetLicense("...");
			
            string pdfFile = Path.GetFullPath(@"..\..\..\text and graphics.pdf");
            string wordFile = "Result.docx";
			
            //Convert PDF file to Text file
            SautinSoft.PdfFocus f = new SautinSoft.PdfFocus();

            f.OpenPdf(pdfFile);

            //This property indicating whether to load embedded fonts from PDF and store them in document or skip them and use similar. Default value: Auto.
            f.PreserveEmbeddedFonts = SautinSoft.PdfFocus.ePropertyState.Enabled;

            if (f.PageCount > 0)
            {
                int result = f.ToWord(wordFile);

                //Show Text document
                if (result == 0)
                {
                    System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(wordFile) { UseShellExecute = true });
                }
            }
        }
    }
}

Download

Imports System
Imports System.IO

Namespace Sample
	Friend Class Sample
		Shared Sub Main(ByVal args() As String)
			' Before starting, we recommend to get a free key:
			' https://sautinsoft.com/start-for-free/

			' Apply the key here
			' SautinSoft.PdfFocus.SetLicense("...");

			Dim pdfFile As String = Path.GetFullPath("..\..\..\text and graphics.pdf")
			Dim wordFile As String = "Result.docx"
			
			'Convert PDF file to Text file
			Dim f As New SautinSoft.PdfFocus()

			f.OpenPdf(pdfFile)

			'This property indicating whether to load embedded fonts from PDF and store them in document or skip them and use similar. Default value: Auto.
			f.PreserveEmbeddedFonts = SautinSoft.PdfFocus.ePropertyState.Enabled

			If f.PageCount > 0 Then
				Dim result As Integer = f.ToWord(wordFile)

				'Show Text document
				If result = 0 Then
					System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(wordFile) With {.UseShellExecute = True})
				End If
			End If
		End Sub
	End Class
End Namespace

Download


If you need a new code example or have a question: email us at support@sautinsoft.com or ask at Online Chat (right-bottom corner of this page) or use the Form below:


Captcha

Questions and suggestions from you are always welcome!

We are developing .Net components since 2002. We know PDF, DOCX, RTF, HTML, XLSX and Images formats. If you need any assistance with creating, modifying or converting documents in various formats, we can help you. We will write any code example for you absolutely free.