pdf to word converter

How do I convert a PDF file to MS Word DOCX format?

I am not sure whether you know how to convert a PDF file to MS Word DOCX format or not. So, there are two options here.

Option 1: If you don’t know how to covert a PDF file to MS Word DOCX format, please refer to the following steps:

Step 1: Run the VeryDOC PDF to Word Converter.

Step 2: Add the PDF file you want to convert.

There are two methods to add the PDF file in the list box: the first one is to drag the PDF file to the list box directly; the second one is to click on the Add PDF file(s)>>select the file folder in the drop-down menu and choose the PDF file you want to convert>>After the file name appear in the line, click the Open button.

image

image

Step 3:Convert PDF to Word DOC format

Choose the PDF file in the list box of the VeryDOC PDF to Word Converter, and then click the Convert button, and save the new converted Word DOC file.

image

Step 4: Convert DOC format to DOCX format

Open the converted DOC file in MS Word 2007 or Word 2010, and then save it to DOCX format.

 

Option 2:If you know how to convert a PDF file to MS Word DOC format, you can refer to the following two steps:

Step 1:Convert a PDF file to a DOC file.

Use the VeryDOC PDF to Word Converter to easily, accurately and effectively convert a PDF file to a Word file.

Step 2: Open the converted DOC file in MS Word 2007 or Word 2010, and then save it to DOCX format.

VN:F [1.9.20_1166]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.20_1166]
Rating: 0 (from 0 votes)
postscript to image converter

Convert Postscript file to transparent png image

Another issue that I ran into was trying to use the "Postscript to Image Converter".  For some eps files I would like to convert them to transparent png files.  I downloaded the source and tried to use the C# example and it throws an exception running the sample on Windows 7 64-bit.  Is the demo version only work on 32 bit system?
=========================
Postscript to Image Converter SDK is support both 32bit and 64bit systems.

Please refer to the C# example for PS to Image conversion at below,

~~~~~~~~~~~~~~~~~~~~~~~~~~
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;

namespace ConsoleApplication1
{
    class Program
    {
        const int TRUE = 1;
        const int FALSE = 0;
        const int COMPRESSION_NONE = 1;            // dump mode
        const int COMPRESSION_CCITTRLE = 2;        // CCITT modified Huffman RLE
        const int COMPRESSION_CCITTFAX3 = 3;    // CCITT Group 3 fax encoding
        const int COMPRESSION_CCITTFAX4 = 4;    // CCITT Group 4 fax encoding
        const int COMPRESSION_LZW = 5;            // Lempel-Ziv  & Welch
        const int COMPRESSION_JPEG = 7;            // %JPEG DCT compression
        const int COMPRESSION_PACKBITS = 32773;    // Macintosh RLE
       
        [DllImport(@"ps2imgsdk.dll", CharSet = CharSet.Auto)]
        static extern uint VeryPDF_PSToImageConverter(
            [MarshalAs(UnmanagedType.LPStr)] string FileName,
            [MarshalAs(UnmanagedType.LPStr)] string OutputName,
            int nIsWidthAndHeight, int xResORWidth, int yResORHeight, int nCompression, int bIsMultiPage,
            int nFirstPage, int nLastPage, int nQuality, int nBitCount, int bGrayscale,
            IntPtr lpUserPassword, IntPtr lpOwnPassword, int bTransparentBackground);

        [DllImport(@"ps2imgsdk.dll", CharSet = CharSet.Ansi)]
        static extern uint VeryPDF_PSToImageSetCode(string lpRegcode);

        static void Main(string[] args)
        {
            string lpPSFile = "C:\\verydoc.ps";
            string lpImgFile = "C:\\verydoc.png";
            IntPtr UserPassword = IntPtr.Zero;
            IntPtr OwnPassword = IntPtr.Zero;
            int bTransparentBackground = 1;
            VeryPDF_PSToImageSetCode("XXXXXXXXXXXXXXXXXXXXXXX");
            uint nResult = VeryPDF_PSToImageConverter(lpPSFile, lpImgFile, FALSE, 200, 200, COMPRESSION_PACKBITS,
                FALSE, -1, -1, 100, 24, FALSE, UserPassword, OwnPassword, bTransparentBackground);
        }
    }
}
~~~~~~~~~~~~~~~~~~~~~~~~~~

If you wish create PNG image with Transparent Background, please set bTransparentBackground option to TRUE.

The free trial version of Postscript to Image Converter SDK/COM can be downloaded from following web URL,

https://www.verydoc.com/ps2imgsdk.zip

image

VeryDOC

VN:F [1.9.20_1166]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.20_1166]
Rating: 0 (from 0 votes)
doc to any converter

Word Install Detection by doc2any?

I'm still having reports that doc2any.exe is not detecting Microsoft Word installations correctly. These are beta users using our product so I can't give you access to their systems and I personally can't duplicate the errors on my XP, Vista or Windows 7 test machines.
 
I think the best approach is for me to understand how doc2any.exe checks the Windows registry for Word. I have pasted below a C++ header file I wrote a few days ago to detect Office installations myself using various recommended articles from Microsoft. I wanted to provide you with this so you don't think I'm trying to pry into the doc2any code, but rather to try and align my code checking with yours so that I can work out whether or not to call doc2any i.e. I want to call doc2any when I detect Word and need to be assured that doc2any will find Word too. That's why I'm sharing as there's no point in me detecting Word and calling doc2any and having it fail. This way I can provide better error message feedback to the user rather than the limited messages that come from doc2any.
 
The basic approach I have used successfully is to look in the HKEY_CLASSES_ROOT and look for the key: Word.Application then get the CurVer to get the version of Word and the CLSID - which with another lookup to  HKEY_LOCAL_MACHINE\Software\Classes\CLSID\ will give me the executable path to a valid version of Word installed.
 
What I'd like to understand is how doc2any detects for a Word install. If you could share the approach that would really help me resolve these issues I'm facing with beta users.
 
I have highlighted the relevant parts of the code below in bold for your reference.
 
 
#ifndef OFFICEDETECTIVE_H
#define OFFICEDETECTIVE_H
 
#include <Windows.h>
#include "SCRWindowsTypeConverter.h"
#include <QDebug>
 
// Class is based on the following Microsoft Knowledge article and references:
// http://support.microsoft.com/kb/240794
// RegOpenKeyEx: http://msdn.microsoft.com/en-us/library/ms724897(VS.85).aspx
// RegQueryValueEx: http://msdn.microsoft.com/en-us/library/ms724911(VS.85).aspx
 
class OfficeDetective
{
public:
        enum OfficeVersion
        {
                OfficeVersion_Unknown,
                OfficePath_Unknown,
                OfficeVersion_95,
                OfficeVersion_97,
                OfficeVersion_2000,
                OfficeVersion_XP,
                OfficeVersion_2003,
                OfficeVersion_2007,
                OfficeVersion_2010
        };
 
        enum OfficeApp
        {
                OfficeApp_Word,
                OfficeApp_Excel,
                OfficeApp_Outlook,
                OfficeApp_Access,
                OfficeApp_PowerPoint
        };
 
        static QString toString(const OfficeVersion officeVersion)
        {
                switch(officeVersion) {
                        case OfficeVersion_Unknown:     { return QString("->Version Not found"); }break;
                        case OfficePath_Unknown:        { return QString("->Path Not found");    }break;
                        case OfficeVersion_95:          { return QString("->Office 95");         }break;
                        case OfficeVersion_97:          { return QString("->Office 97");         }break;
                        case OfficeVersion_2000:        { return QString("->Office 2000");       }break;
                        case OfficeVersion_XP:          { return QString("->Office XP");         }break;
                        case OfficeVersion_2003:        { return QString("->Office 2003");       }break;
                        case OfficeVersion_2007:        { return QString("->Office 2007");       }break;
                        case OfficeVersion_2010:        { return QString("->Office 2010");       }break;
                        default:                        { Q_ASSERT(false); return QString(""); }break;
                }
        }
 
        static QString applicationAsString(const OfficeApp officeApp)
        {
                switch(officeApp) {
                        case OfficeApp_Word:       { return QString("Word");              }break;
                        case OfficeApp_Excel:      { return QString("Excel");             }break;
                        case OfficeApp_Outlook:    { return QString("Outlook");           }break;
                        case OfficeApp_Access:     { return QString("Access");            }break;
                        case OfficeApp_PowerPoint: { return QString("Powerpoint");        }break;
                        default:                   { Q_ASSERT(false); return QString(""); }break;
                }
        }
 
        static QString progID(const OfficeApp officeApp)
        {
                switch(officeApp) {
                        case OfficeApp_Word:       { return QString("Word.Application");       }break;
                        case OfficeApp_Excel:      { return QString("Excel.Application");      }break;
                        case OfficeApp_Outlook:    { return QString("Outlook.Application");    }break;
                        case OfficeApp_Access:     { return QString("Access.Applicationdsde");     }break;
                        case OfficeApp_PowerPoint: { return QString("Powerpoint.Application"); }break;
                        default:                   { Q_ASSERT(false); return QString("");      }break;
                }
        }
 
        static OfficeVersion stringToVersion(const QString versionString)
        {
                if(QString("7") == versionString){
                        return OfficeVersion_95;
                }else if(QString("8") == versionString){
                        return OfficeVersion_97;
                }else if(QString("9") == versionString){
                        return OfficeVersion_2000;
                }else if(QString("10") == versionString){
                        return OfficeVersion_XP;
                }else if(QString("11") == versionString){
                        return OfficeVersion_2003;
                }else if(QString("12") == versionString){
                        return OfficeVersion_2007;
                }else if(QString("14") == versionString){
                        return OfficeVersion_2010;
                }else{
                        return OfficeVersion_Unknown;
                }
        }
 
        static QString getVersionAndPath(OfficeApp appToCheck)
        {
            // The Return string of this method will look something like these:
            /**
                "Word->Path Not found"
                "Word->Version Not found
                "Word->Office 2010->C:\PROGRA~2\MICROS~4\Office14\WINWORD.EXE"
                "Excel->Office 2010->C:\PROGRA~2\MICROS~4\Office14\EXCEL.EXE"
                "Outlook->Office 2007->C:\PROGRA~2\MICROS~4\Office12\OUTLOOK.EXE"
                "Access->Office 2000->C:\PROGRA~2\MICROS~4\Office9\MSACCESS.EXE"
                "Powerpoint->Office XP->C:\PROGRA~2\MICROS~4\Office1o\POWERPNT.EXE"
            **/
 
            const QString progID( progID(appToCheck) );
 
            HKEY hROOTKey( NULL);
            HKEY hLOCALKey( NULL);
            HKEY hVersionKey(NULL);
            HKEY hCLSIDKey(NULL);
 
            //STEP ONE - Find Application version and CLSID
            if(ERROR_SUCCESS != RegOpenKeyEx(HKEY_CLASSES_ROOT, win32::SCRWindowsTypeConverter::QString_To_LPCTSTR(progID), 0, KEY_READ, &hROOTKey) ){
                                    return toString(OfficeVersion_Unknown);
                            }
 
            if(ERROR_SUCCESS != RegOpenKeyEx(hROOTKey, win32::SCRWindowsTypeConverter::QString_To_LPCTSTR(QString("CurVer")), 0, KEY_READ, &hVersionKey)) {
                    RegCloseKey(hROOTKey);
                    return toString(OfficeVersion_Unknown);
            }
 
            if(ERROR_SUCCESS != RegOpenKeyEx(hROOTKey, win32::SCRWindowsTypeConverter::QString_To_LPCTSTR(QString("CLSID")), 0, KEY_READ, &hCLSIDKey)) {
                    RegCloseKey(hROOTKey);
                    return toString(OfficePath_Unknown);
            }
 
            // Get the Version information
            const int BUFFER_SIZE(255);
            ULONG cSize(BUFFER_SIZE);
            ULONG cSize1(BUFFER_SIZE);
            ULONG cSize2(BUFFER_SIZE);
            TCHAR szVersion[BUFFER_SIZE];
            TCHAR szCLSID[BUFFER_SIZE];
            TCHAR szCLSIDPath[BUFFER_SIZE];
 
            // Query values and place in buffers
            const LONG lVersionRet( RegQueryValueEx(hVersionKey, NULL, NULL, NULL, (LPBYTE)szVersion, &cSize) );
            const LONG lCLSIDRet( RegQueryValueEx(hCLSIDKey, NULL, NULL, NULL, (LPBYTE)szCLSID, &cSize1) );
 
            // Close the registry keys
            RegCloseKey(hCLSIDKey);
            RegCloseKey(hVersionKey);
            RegCloseKey(hROOTKey);
 
            // Error while querying for version and CLSID
            if(ERROR_SUCCESS != lVersionRet){
                    return toString(OfficeVersion_Unknown);
            }
            if(ERROR_SUCCESS != lCLSIDRet){
                    return toString(OfficePath_Unknown);
            }
 
            // Parse buffer to extract version number as string
            QString programAndVersion(win32::SCRWindowsTypeConverter::TChar_To_QString(szVersion));
            int lastIndex = programAndVersion.lastIndexOf(".", -1, Qt::CaseInsensitive);
            if (lastIndex == -1)
                return toString(OfficeVersion_Unknown);
 
            int length = programAndVersion.length();
            QString version = programAndVersion.mid((lastIndex+1), (length-(lastIndex+1)));
            bool ok;
            int isNumber = version.toInt(&ok, 10);
            if (!isNumber)
                return toString(OfficeVersion_Unknown);
 
            QString detectedVersion = toString(stringToVersion(version));
 
 
            // STEP TWO - Construct registry path and open HKEY_LOCAL_MACHINE to find exe path for CLSID
            QString localPath = "Software\\Classes\\CLSID\\";
            QString CLSID_Value = win32::SCRWindowsTypeConverter::TChar_To_QString(szCLSID);
            localPath.append(CLSID_Value).append("\\LocalServer32");
 
            if(ERROR_SUCCESS != RegOpenKeyEx(HKEY_LOCAL_MACHINE, win32::SCRWindowsTypeConverter::QString_To_LPCTSTR(localPath), 0, KEY_READ, &hLOCALKey) ){
                    return toString(OfficePath_Unknown);
            }
 
            const LONG szPathRet(RegQueryValueEx(hLOCALKey, NULL, NULL, NULL, (LPBYTE)szCLSIDPath, &cSize2));
            RegCloseKey(hLOCALKey);
 
            // Error while querying for path value
            if(ERROR_SUCCESS != szPathRet){
                    return toString(OfficePath_Unknown);
            }
 
            // Remove trainling /commands from end of path string
            QString detectedPath = win32::SCRWindowsTypeConverter::TChar_To_QString(szCLSIDPath);
            lastIndex = detectedPath.lastIndexOf("/", -1, Qt::CaseInsensitive);
 
            if (lastIndex != -1)
                detectedPath = detectedPath.left(lastIndex).trimmed();
 
            // Return version and path
            return detectedVersion + "->" + detectedPath;
        }
};
#endif // OFFICEDETECTIVE_H
 
 
All the best,
=======================================
We are not  read Word path from registry, we are using CreateDispatch or CreateObject to create the "Word.Application" application, please refer to VB source code at below,

Sub AutoWord()
 
   ' Declare the variable.
   Dim oWord As Word.Application
 
    ' Set the variable (runs new instance of Word).
    Set oWord = CreateObject("Word.Application")
 
    ' Add a new document.
    oWord.Documents.Add
 
    ' Add some text.
    oWord.Selection.TypeText "This is some text."
 
    ' Save the document.
    oWord.ActiveDocument.SaveAs Filename:="mydoc.doc"
 
    ' Quit Word.
    oWord.Quit
 
    ' Clear the variable from memory.
    Set oWord = Nothing
 
End Sub

You can also refer to a VC++ example at following web page,

http://www.codeguru.com/cpp/misc/misc/article.php/c6091
 
#include "AutoWord.h"
 
int PrintWordDocument(CString szFilePath)
{
// Instantiate an object of CAutoWord
CAutoWord           AutoWord;
 
// Set filepath
int iRetVal = AutoWord.InitAutomation();
if (iRetVal != 0)
{
  printf("LoadDocument operation failed.");
}
 
// Set filepath
char* strFilePath = szFilePath.GetBuffer(szFilePath.GetLength));
 
// Print the WORD document
iRetVal = AutoWord.PrintDocument(strFilePath);
if (iRetVal == 0)
{
  AfxMessageBox(szFilePath+" was sent to printer.");
}
else
{
  AfxMessageBox("Print operation failed.");
}
 
return iRetVal;
}

Can you create word object properly with above example source code in your system?

VeryDOC
=======================================
Thanks for that.

I'm assuming doc2any is a vb6 application from the source code provided?

Can you confirm that you check for the following in bold as I did not see this in your code:

Set oWord = CreateObject("Word.Application")

If oWord is nothing then
     'flag as word not installed
End

Also, how do you test the version of Word to determine if you can use docx?

All the best,
=======================================
>>I'm assuming doc2any is a vb6 application from the source code provided?

doc2any is written in VC++.

>>Can you confirm that you check for the following in bold as I did not see this in your code:
>>Set oWord = CreateObject("Word.Application") If oWord is nothing then
>>     'flag as word not installed
>>End

In our doc2any.exe application, CreateDispatch("Word.Application") function is failed, so it can't create Word instance or object at all.

>>Also, how do you test the version of Word to determine if you can use docx?

Our doc2any.exe does support DOCX format automatically if your system has Word 2007 or Word 2010 installed, you need to do nothing in your side.

VeryDOC

VN:F [1.9.20_1166]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.20_1166]
Rating: 0 (from 0 votes)
pdf to word converter

Will your PDF to Word convert rotated texts from PDF files to Word documents?

Yes, the VeryDOC PDF to Word Converter can help you to convert rotated texts from PDF files to Word documents easily and accurately.

It would be effortless for you to convert PDF files to Word documents the way you want. Not only can it automatically recognize rotated pages, but also it can preserve the contents, format, and images in the resulting Word documents as in the original PDF files. This is one of most powerful features of the VeryDOC PDF to Word Converter. The following example clearly demonstrates how well this software can help you to convert a rotated text form a PDF file to a Word document.

image

Tags: PDF to Word Converter, rotated text

Compare the two original PDF file and the resulting Word document, you will find that both are of the same format: the text is vertical in the original PDF document, and it is  also vertical in the converted Word document. The most delightful thing is that to convert a rotated text from a PDF file to a Word document, all you need to do is just click the Convert button. You do not even need to select any Output Option.

With the help of the VeryDOC PDF to Word Converter, not only can you convert PDF to Word fast and effectively, but also can you easily edit the content of the converted Word file.

VN:F [1.9.20_1166]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.20_1166]
Rating: 0 (from 0 votes)
doc to any converter

The reason that VeryDOC to any converter fails to convert doc format to eps format

As we know The VeryDOC to any converter can convert Office format to some other format document such as pdf ,eps, ps and the like. But when you succeed in conversion for example that in converting doc to pdf, it doesn’t mean the others have the same destiny.

Now the task is that converts doc to eps format with the use of the VeryDOC to any converter. After entering DOS system, we can directly drag the documentary name of the VeryDOC to any converter into DOS page, its address to download is: https://www.verydoc.com/doc2any_cmd.zip, the key step appears after the drag, you must input continuously the word“-useprinter”, otherwise it will fail with an error as the title said, afterwards drag the objective documentary icon twice into DOS system next to the word“-useprinter”, don’t forget to press the space key. At last correct a little of the latter drag of the two twice for eps, then press the enter key, thus a new eps format document appears.

image

Under DOS system, write down the route of the VeryDOC to any converter and the word and small dash“-useprinter”.

image

The two drags from the objective icon

image

The final result

VN:F [1.9.20_1166]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.20_1166]
Rating: 0 (from 0 votes)