GhostScript может сделать это легко. Вы можете скачать его здесь: http://ghostscript.com/download/gsdnld.html В этом примере я использую 32-разрядную версию для Windows.
Ниже приведены два файла. Один - это скрипт powershell, а другой - командный файл. Пакетный файл запустит сценарий powershell и пропустит все параметры политики выполнения, чтобы его можно было запускать с любого компьютера без конфигурации powershell. Сценарий powershell использует ghostscript для перепечатки защищенных PDF-файлов и сохранения их как обычных PDF-файлов в определенном каталоге.
Пакет (расположение: Q:\PDFStoPDF\convertPDF.bat)
cd "q:\PDFStoPDF\gs"
powershell.exe -noexit -ExecutionPolicy Bypass -File "q:\PDFStoPDF\gs\pdfconvert.ps1"
Во-первых, пакет изменяет каталог на местоположение GhostScript EXE и сценария powershell ниже. Затем он обходит политику выполнения и запускает скрипт powershell.
PowerShell (расположение: Q:\PDFStoPDF\gs\pdfConvert.ps1)
$GhostScript = "q:\PDFStoPDF\gs\gs9.20\bin\gswin32c.exe"
Get-ChildItem "Q:\PDFStoPDF\*.pdf" | Where {
$_.BaseName -NotMatch "Conv"
} | ForEach-Object {
$InputFile = $_.FullName
$OutputFile = "Q:\PDFStoPDF\{0} (Conv).pdf" -F $_.BaseName
& "$GhostScript" -dPDFA -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sOutputFile="$OutputFile" "$InputFile"
}
Сценарий powershell сначала устанавливает путь к GhostScript exe gswin32c.exe
. Далее мы сообщаем ему, что нужно получить все PDF-файлы из папки «Q:\PDFStiPDF\», где имя файла не содержит букв "conv" по порядку. Продолжая по конвейеру, мы сообщаем ghostscript, что входным файлом будет текущее имя файла, а выходной файл будет находиться в том же каталоге, но просто добавим CONV в конец имени файла.
Перед сценарием: Q:\PDFStoPDF\myPDF01.pdf
После сценария : Q:\PDFStoPDF\myPDF01Conv.pdf
Ключ -NotMatch позволяет файлам, которые уже были преобразованы, оставить нетронутыми.
Далее скрипт распечатывает и сохраняет PDF-файл, используя PDF-принтер pdfwrite
Итак, чтобы сделать эту работу, нужно перетащить файл в каталог Q:\PDFStoPDF\, а затем щелкнуть по файлу .bat, который там находится. Он возьмет файл PDF и сохранит его в виде редактируемого файла PDF в том же каталоге.