我有 100 個不同內容的 PSD 檔案和另外 1 個單獨的 psd 檔案,它們想要合并到雙面 PDF 檔案(正面和背面)中。
是用來列印的。我想自動化處理,因為檔案很多。因此,例如,假設對于第一頁(首頁),我有 100 個 PSD,其中包含不同的影像,例如:(在 PSD-01 -> img-01 中),(在 PSD-02 -> img-02 中),。 .. 并且第二頁(BACK)對于所有首頁都是相同的。例如PSD1必須與Back PSD結合,PSD2必須與BACK PSD結合等等......
如何在 Photoshop、InDesign 或其他程式中自動執行此程序,以便在創建的檔案具有 100 個具有不同第一(前)頁和相同第二(后)頁的雙面 PDF 時?謝謝。
uj5u.com熱心網友回復:
基本上它可以在 InDesign 中使用以下腳本完成:
var doc = app.activeDocument;
if (doc.pages.length < 2) doc.pages.add();
// put image on page 2
var file = 'd:/temp/back_page.psd';
place_image_on_page(file, doc.pages[1]);
// get PSD files for page 1
var files = Folder('d:/temp/front').getFiles('*.psd');
var output_folder = Folder('d:/temp/pdf');
// show progress bar
var bar = new Window("palette", "Progress...");
var stat = bar.add("statictext", undefined, "");
var progressbar = bar.add("progressbar", [15,15,400,35], 0, 100);
stat.characters = 50;
bar.center();
bar.show();
// loop through the files
for (var f in files) {
// delete old and put new image on page 1
try { doc.pages[0].rectangles[0].remove() } catch(e) {}
place_image_on_page(files[f], doc.pages[0]);
// export the doc in PDF
var preset = app.pdfExportPresets.item("[High Quality Print]");
var file_name = parseInt(f) 1 '.pdf';
var pdf_file = File(output_folder '/' file_name);
// update the progress bar
progressbar.value = f/files.length*100;
stat.text = 'Make ' file_name;
bar.update();
doc.exportFile(ExportFormat.pdfType, pdf_file, false, preset);
}
bar.close()
alert('Done!');
// ----------------------------------------------------------------------------
function place_image_on_page(file, page) {
var img = page.place(File(file));
doc.align(img, AlignOptions.HORIZONTAL_CENTERS, AlignDistributeBounds.PAGE_BOUNDS);
doc.align(img, AlignOptions.VERTICAL_CENTERS, AlignDistributeBounds.PAGE_BOUNDS);
img[0].parent.fit(FitOptions.FRAME_TO_CONTENT);
}
將您的檔案放在以下檔案夾中:
d:/temp/back_page.psd -- 第 2 頁的 PSD(后頁)
d:/temp/front/*.psd -- 第 1 頁的 PSD 檔案(首頁)
d:/temp/pdf/ -- PDF 檔案的檔案夾
創建大小正確的空 InDesign 檔案并運行腳本。它將雙面 PDF 保存在檔案夾中d:/temp/pdf。這些PDF檔案的名稱將是1.pdf,2.pdf,3.pdf等。


uj5u.com熱心網友回復:
您可以使用 Photoshop 腳本將其自動化:假設您的 pageA 和 pageB 為 .png 檔案。
// Switch off any dialog boxes
displayDialogs = DialogModes.NO; // OFF
// you need to change these!!!!
var frontPage = "D:\\temp\\process_images\\page_A.png";
var backPage = "D:\\temp\\process_images\\page_B.png";
var myPDF = "D:\\temp\\process_images\\myPDF.pdf";
// =======================================================
var idPDFExport = stringIDToTypeID( "PDFExport" );
var desc6139 = new ActionDescriptor();
var idflst = charIDToTypeID( "flst" );
var list844 = new ActionList();
list844.putPath( new File( frontPage) );
list844.putPath( new File( backPage ) );
desc6139.putList( idflst, list844 );
var idT = charIDToTypeID( "T " );
desc6139.putPath( idT, new File( myPDF ) );
var idBckC = charIDToTypeID( "BckC" );
var idBckC = charIDToTypeID( "BckC" );
var idWht = charIDToTypeID( "Wht " );
desc6139.putEnumerated( idBckC, idBckC, idWht );
var idAs = charIDToTypeID( "As " );
var desc6140 = new ActionDescriptor();
var idpdfPresetFilename = stringIDToTypeID( "pdfPresetFilename" );
desc6140.putString( idpdfPresetFilename, """High Quality Print""" );
var idpdfPreserveEditing = stringIDToTypeID( "pdfPreserveEditing" );
desc6140.putBoolean( idpdfPreserveEditing, false );
var idpdfCompressionType = stringIDToTypeID( "pdfCompressionType" );
desc6140.putInteger( idpdfCompressionType, 7 );
var idPhtP = charIDToTypeID( "PhtP" );
desc6139.putObject( idAs, idPhtP, desc6140 );
executeAction( idPDFExport, desc6139, DialogModes.NO );
您只需要調整腳本,使其在 100 張正面影像上回圈,然后添加相同的背面頁面。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/332975.html
標籤:pdf 照相馆 adobe-indesign
