import sys
import os
import comtypes.client
wdFormatPDF = 17
in_file = os.path.abspath(sys.argv[1])
out_file = os.path.abspath(sys.argv[2])
word = comtypes.client.CreateObject('Word.Application')
doc = word.Documents.Open(in_file)
doc.SaveAs(out_file, FileFormat=wdFormatPDF)
doc.Close()
word.Quit()
Just use Adobe Online converter it's free for one time and
for more than 1 you may have to sign in,
just use a temp mail like "moakt mail" or "temp mail" and u r good to go.
Link: https://www.adobe.com/in/acrobat/online/word-to-pdf.html
temp mail:https://temp-mail.org/
// In menu of word document select "File"
// Under File select "Print"
// In Print form, expand the "Printer" selection box.
// Select "Microsoft Print to PDF"
// Click "Print" and select a destination folder to save your PDF Document.
You Can Try pdfcandy
Install DoPDF.
It automatically added to your office programs.
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import org.docx4j.Docx4J;
import org.docx4j.openpackaging.packages.WordprocessingMLPackage;
import org.docx4j.openpackaging.parts.WordprocessingML.MainDocumentPart;
public class DocToPDF {
public static void main(String[] args) {
try {
InputStream templateInputStream = new FileInputStream("D:\Workspace\New\Sample.docx");
WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.load(templateInputStream);
MainDocumentPart documentPart = wordMLPackage.getMainDocumentPart();
String outputfilepath = "D:\Workspace\New\Sample.pdf";
FileOutputStream os = new FileOutputStream(outputfilepath);
Docx4J.toPDF(wordMLPackage,os);
os.flush();
os.close();
} catch (Throwable e) {
e.printStackTrace();
}
}
}