Toplu olarak birçok Word belgesini nasıl dönüştürebilirim ve [originalfilename] .pdf olarak kaydetmelerini nasıl sağlayabilirim?
Bu nasıl yapardım:
Sadece olumsuz, her dosya için bir kez Tamam tıklamanız gerekir.
Bu, stackoverflow.com alanına giriyor olabilir, ancak Word 2007'yi bir belgeyi açıp PDF olarak kaydetmek için komut dosyası yazabilirsiniz. Bu, Office 2007 ve Microsoft'tan "PDF Olarak Kaydet" eklentisi gerektirir.
Bunu bir dosyaya SaveAsPDF.js
kaydedin ve cscript.exe //nologo SaveAsPDF.js SomeFolder\MyDocToConvert.doc
kullanarak komut satırından çalıştırın:
var fso = new ActiveXObject("Scripting.FileSystemObject");
var docPath = WScript.Arguments(0);
docPath = fso.GetAbsolutePathName(docPath);
var pdfPath = docPath.replace(/\.doc[^.]*$/, ".pdf");
var objWord = null;
try
{
WScript.Echo("Saving '" + docPath + "' as '" + pdfPath + "'...");
objWord = new ActiveXObject("Word.Application");
objWord.Visible = false;
var objDoc = objWord.Documents.Open(docPath);
var wdFormatPdf = 17;
objDoc.SaveAs(pdfPath, wdFormatPdf);
objDoc.Close();
WScript.Echo("Done.");
}
finally
{
if (objWord != null)
{
objWord.Quit();
}
}
cutepdf ve pdf99 işlerini iyi yapıyor, ama ben buluyorum PDFcreator 'baskı diğer ikisinden daha yüksek kalitede olduğu için daha çekici, ayrıca daha fazla yapılandırma seçeneğine sahip, artı açık kaynak.
Önceki bir kullanıcının gönderdiği SaveAsPDF.js betiğiyle ilgili olarak. Bu, bir pdf dosyasını dönüştürmek için çalıştı, ancak bir dizindeki tüm dosyaları nasıl gizleyeceğimi bilmiyordum. Küçük bir oyun ile bir dosya oluşturdum. CovertAll2PDF.bat, aşağıdaki 2 satırla birlikte:
echo off
for %%X in (*.doc) do cscript.exe //nologo SaveAsPDF.js "%%X"
ayrıca tüm dizinleri inceleyecek olan /r "Parent Directory"
için eklenebilecek /r "PD" %%X in -....
, bu durumda C:\SaveAsPDF.js yapın ve Saveaspdf.js dosyasını bu dizine kaydedin.
Eminim sakar, ama benim için çalıştı. umarım bu birine yardımcı olur.
Google Dokümanlar'ı Toplu İş Olarak Kullan _ PDF Dönüştürücü Yazan Amit Agarwal
Sabit diskinizde, Adobe Acrobat gibi ticari yazılımlara yatırım yapmadan bir kerede PDF biçimine dönüştürmek istediğiniz çok sayıda Word Belgesi, Excel Çizelgesi ve PowerPoint Sunumu paketiniz varsa, Google Dokümanlar'ı deneyin.
Office belgelerini Google Dokümanlar'ı kullanarak PDF öğesine dönüştürmek her zaman mümkün olsa da, yeni dışa aktarma özelliği, Microsoft Office ve OpenOffice dosya biçimlerini toplu olarak dönüştürmenizi daha da kolaylaştırır PDF ( veya HTML) üç kolay adımda. Google Dokümanlar ile Toplu Dönüşüm: PDF
Google Dokümanlar'ı Toplu İş Olarak Kullan _ PDF Dönüştürücü
1. Adım - Google Dokümanlar’da, PDF’ye dönüştürülecek tüm belgelerinizi ve sunumlarınızı yükleyeceğiniz yeni bir "giriş" klasörü oluşturun.
Adım # 2 - Şimdi Google Dokümanlar’da Doküman Yükle seçeneğini seçin, hedef klasörü Adım 1’de oluşturduğunuz klasöre ayarlayın ve yükleyin * tümü belgeleriniz.
Google Dokümanlar, resim yükleyebilmenize rağmen resmi olarak aşağıdaki dosya formatlarını desteklemektedir:
* Microsoft PowerPoint (.ppt, .pps).
* Microsoft Word (.doc, .docx), OpenDocument (.odt) and StarOffice (.sxw).
* Microsoft Excel (csv, .xls, .xlsx) files and OpenDocument Spreadsheet (.ods).
[*] Dokümanları Google Dokümanlar'a yüklemek için e-posta seçeneğini de kullanabilirsiniz, ancak bu her şeyi ana klasöre yerleştirir ve dokümanları yönetmek, özellikle de çok fazla dosyanız olduğunda sorun olabilir.
Adım # 3 - Tüm dosyalar Google Dokümanlar’a yüklendikten sonra, kontrol panelini tekrar açın ve sağ kenar çubuğundan "giriş" klasörünü seçin. Bu klasördeki tüm dosyaları seçin ve "Diğer Seçenekler" altında "Dışa Aktar" ı seçin.
Burada çıktı biçimi olarak "PDF" (veya HTML) seçeneğini seçin ve tüm Word Belgeleriniz, sunumlarınız, e-tablolarınız vb. Anında PDF'ye dönüştürülecektir.
Çok sayıda belge yığınını PDF'ye dönüştürüyorsanız, Google Dokümanlar işlem sona erdiğinde otomatik olarak size bir e-posta göndereceğinden, tarayıcının dönüşümünün bitmesini beklemeniz gerekmez. E-posta, tüm PDF dosyalarını büyük bir Zip'de doğrudan indirebileceğiniz bir bağlantıya sahip olacaktır.
Bobbymcr'in cevabı oldukça ilginç ve Word 2010 ile iyi çalışıyor. Yine de yapılması gereken bir gelişme var. Bobbymcr'nin orijinal komut satırı şöyle görünür:
cscript.exe //nologo SaveAsPDF.js SomeFolder\MyDocToConvert.doc
.Js dosyalarınızı Notepad ++ gibi bir düzenleyiciyle ilişkilendirdiyseniz bu işe yaramaz. Bu durumda kullanılacak motoru da belirtmeniz gerekir, aksi halde cscript size bir hata mesajı gösterir. Bu kolayca //E:jscript
komut satırı parametresi kullanılarak gerçekleştirilir:
cscript.exe //nologo //E:jscript SaveAsPDF.js SomeFolder\MyDocToConvert.doc
Bu küçük snippet benim için çok iyi çalıştı.
Dosya sayısında sınırlama yok
$Word=New-Object -ComObject Word.Application
$Files=Get-ChildItem ".\*.docx"
ForEach ($File In $Files) {
$Document=$Word.Documents.Open($File.FullName)
$Name=($Document.FullName).Replace("docx", "pdf")
$Document.SaveAs([ref] $Name, [ref] 17)
$Document.Close()
}
$Word.Close()
Sadece onu Convert-Documents.ps1
gibi bir PowerShell betiğine kaydedin ve sonra tüm kaynak belgelerinizin bulunduğu klasörün içinden komut satırından çalıştırın.
Denemedim ama OpenOffice.org'u kullanarak test edebileceğiniz bir toplu iş yöntemi var. Bunu, GNU/Linux ve Windows platformlarında http: //www.tech-faq. com/convert-Word-to-pdf.shtml (ve ayrıca http://www.togaware.com/linux/survivor/Convert_MS_Word.html "ve, http://www.oooforum.org/forum/viewtopic.phtml?t=3772 ).
OpenOffice.org'u .doc dosyasında okumak ve sonra bunu bir PDF olarak dışa aktarmak ilkesi, OpenOffice.org'un sahip olduğunuz .doc dosyalarını açmak için alan açısından uygun bir iş haline getirdiğini tespit ederse sağlam görünüyor.
Eğer 20 veya daha az dosya için hızlı ve basit bir çevrimiçi yöntem istiyorsanız, o zaman bu web sitesini kullanın online2pdf , burada dosyalarınızı yükleyebilir, bazı seçenekleri seçebilir ve daha sonra dönüştür'ü tıklayabilirsiniz, tüm belgeleri dönüştürür ve sonra PDF dosyalarını içeren tek bir Zip dosyasını otomatik olarak indir.
Word belgeleri basitse ve Word belgelerinin biçimlendirmesine PDF belgelerinde bulunması gerekmiyorsa, DOCXtoPDF programlarımın çekirdek kodu etrafında basit bir döngü kullanabilirsiniz. DOCXtoPDF, dahili olarak, [birçok başka formattan PDF oluşturma için Python araç setim olan xtopdf kullanır. Ayrıca ReportLab 1.21 yüklü olması gerekir.
Görmek:
http://jugad2.blogspot.in/2013/10/convert-Microsoft-Word-files-to-pdf.html
http://slid.es/vasudevram/xtopdf
Birden çok belgeyi DOC öğesinden PDF öğesinden Windows'ta XP kullanarak JODConverter ve Open Office
Ön şartlar:
Adım 1İndir JODConverter (son sürüm jodconverter-2.2.2.Zip) 'den
Seçtiğiniz dizindeki JODConverter Zip dosyasını açın (D1)
Adım 2 OpenOffice'i servis modunda başlat (daha fazla detay burada )
Aşağıdaki içerikle bir toplu iş dosyası start-service.bat oluşturun:
start-SERVICE.BAT:
X:\Program Files\OpenOffice.org 3\program\soffice.exe -headless
-accept="socket,Host=127.0.0.1,port=8100;urp;" –nofirststartwizard
:: işe yaramazsa, bu son parametreyi kaldırmayı deneyin (–nofirststartwizard)
(X:\Program Files\OpenOffice.org 3\varsayarak, Open Office'in kurulu olduğu ve soffice.exe dosyasının bulunduğu dizindir).
start-service.bat komutunu çalıştırın (Open Office şimdi servis modunda başlatıldı ve komutları bekliyor)
. Adım
Bir dizinde pdf'ye dönüştürülecek tüm belgeleri topla (D2)
JODConverter'ı başlatan bir dönüştürme dosyası oluşturun ve dönüştürme talimatlarını yayınlayın:
convert.bat:
Java -jar "<D1>\lib\jodconverter-cli-2.2.2.jar" -f pdf *.doc
buradaki D1, Adım 1 içinde oluşturulan JODConverter dizinidir.
(JODConverter'ın başka bir sürüm numarası varsa, convert.bat dosyasını buna göre güncelleyin)
ÖNEMLİ: convert.bat dosyası D2 dizininde bulunmalıdır!
4. Adım:
convert.bat komutunu çalıştırın
D2 JODConverter'da bulunan her * .doc dosyası için, Open Office'in aynı dizinde aynı ada ve pdf uzantılı yeni bir dosya oluşturması gerekir.
İnşa etmek mar'ın cevabı , işte değiştirilecek bir PowerShell betiği:
Ömer’in olduğu gibi, bunu kullanmak için:
doc2pdf.ps1
, PATH
öğenizin herhangi bir yerindepowershell doc2pdf.ps1
komutunu çalıştır$Word=New-Object -ComObject Word.Application
[email protected](Get-ChildItem ".\*.docx") + @(Get-ChildItem ".\*.doc")
# Need @() to get an array in case there is only one file - see
# https://blogs.technet.Microsoft.com/heyscriptingguy/2013/07/18/powertip-find-number-elements-in-a-powershell-array/#comment-104863
for($file_idx = 0; $file_idx -lt $Files.Count; ++$file_idx) {
# Show the current progress
$File = $Files[$file_idx]
Write-Progress -Activity "Convert DOC(X) to PDF" `
-CurrentOperation $File.Name `
-PercentComplete (($file_idx/$Files.Count)*100)
# Make the PDF
$Document=$Word.Documents.Open($File.FullName)
$Name=($Document.FullName -replace "\.docx?", ".pdf") # -replace is case-insensitive regex per https://ss64.com/ps/syntax-regex.html
$Document.SaveAs([ref] $Name, [ref] 17)
$Document.Close()
}
# Clean up
$Word.Quit() # Doesn't close other Word instance that may be running.
# Remove any dangling references, per https://technet.Microsoft.com/en-us/library/ff730962.aspx
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($Word)
Remove-Variable Word
# By cxw - https://superuser.com/users/269989/cxw - CC-BY-SA 3.0
# Modified from https://superuser.com/a/1187598/269989 by https://superuser.com/users/12797/umar-farooq-khawaja
Word 2013 ve PowerShell 4.0 ile test edilmiştir.