Avatar billede cresten Nybegynder
06. oktober 2010 - 10:06 Der er 6 kommentarer og
1 løsning

Metadata ved pdf export fra InDesign

Jeg ønsker at "Forfatter" og "Dokumenttitel" kommer med i filinfo for en pdf når man exportere fra InDesign. Det er muligt at lave en skabelon under filinfo, men denne kræver at man manuelt går ind i InDesign jobbet og påfører den, hver gang. Det jeg søger er at filinfo (metadata) bliver oprettet automatisk når man exportere. Nogen der har forslag til løsning?
Avatar billede Slettet bruger
06. oktober 2010 - 17:34 #1
Der er flere muligheder til løsning af dette.

Hvis du ikke har noget imod at påføre metadata i InDesign, men bare ikke gider udfylde for hver gang ligger der i window|utilities|scripts et script til oprettelse af Metadata.

Scriptet hedder MetaDataExample. Dette script kan modificeres til at udfylde dokumentet med de fornødne metadata.

Du kan også oprette en XMP skabelon med de oplysninger du vil påføre og bruge Adobe Bridge til at ligge informationen ind på alle de filer du måtte ønske.
Vælg Tools|Create Metadata Template...

Udfyld de fornødne værdier og gem skabelonen.

Marker de filer der skal have opdateret/erstattet metadata og vælg Tools|Appends/replace Metadata.
Avatar billede cresten Nybegynder
07. oktober 2010 - 12:09 #2
Jeg er mest til den første løsning. Jeg har faktisk ikke MetadataExample scriptet i mine scripts, men jeg har oprettet et nyt med noget kodning jeg fandt på nettet, og det virker ok- dog laver den et nyt dokument, hvilket ikke er meningen. Men det må kunne rettes i kodningen.

Men er der en metode til at det kan køre automatisk- dvs. at man ikke skal ind og påføre hver gang?
Avatar billede Slettet bruger
07. oktober 2010 - 17:59 #3
Mit Metadata eksempel (fra InDesign Developer sitet)

//MetadataExample.jsx
//An InDesign CS5 JavaScript
//Adds metadata to an example document.

main();

function main(){
    //mySetup();
    mySnippet();
    myTeardown();
}

//<setup>
//function mySetup(){
//  app.documents.add();
//}
//</setup>

//<snippet>
function mySnippet(){
    //Adds metadata to an example document.
    var myDocument = app.documents.item(0);
    //<fragment>
    with (myDocument.metadataPreferences){
        author = "Adobe";
        copyrightInfoURL = "http://www.adobe.com";
        copyrightNotice = "This document is copyrighted.";
        copyrightStatus = CopyrightStatus.yes;
        description = "Example of xmp metadata scripting in Adobe InDesign CS4";
        documentTitle = "XMP Example";
        jobName = "XMP_Example_2008";
        keywords = ["animal", "mineral", "vegetable"];
        //The metadata preferences object also includes the read-only
        //creator, format, creationDate, modificationDate, and serverURL
        //properties that are automatically entered and maintained by InDesign.
        //Create a custom XMP container, "email"
        var myString = "http://ns.adobe.com/xap/1.0/";
        var myNewContainer = createContainerItem(myString, "email");
        setProperty(myString, "email/*[1]", "someone@adobe.com");
    }
    //</fragment>
}
//</snippet>

//<teardown>
function myTeardown(){
}
//</teardown>


Du kunne så ligge denne funktion ind også. Husk at ligge en reference til "myExport()" i øverste kode.

Du skal jo alligevel eksportere en pdf, så du kan ligeså godt koble metadata på og eksportere i et go.


function myExport(){
    //<fragment>
    var myDocument = app.documents.item(0);
    //The document.export parameters are:
    //Format as (use either the ExportFormat.pdfType enumeration
    //or the string "Adobe PDF")
    //To as File
    //ShowingOptions as boolean (setting this option to true displays the
    //PDF Export dialog box)
    //Using as PDF export preset (or a string that is the name of a
    //PDF export preset)
    //The default PDF export preset names are surrounded by square breackets
    //(e.g., "[High Quality Print], [Press Quality], or [Smallest File Size]").
    var myPDFExportPreset = app.pdfExportPresets.item("[Press Quality]");
    myDocument.exportFile(
        ExportFormat.pdfType,
        File(Folder.desktop + "/ExportPDFWithPreset.pdf"),
        false,
        myPDFExportPreset
    );
    //</fragment>
}



Hvis du har InDesign Cs5 kan du endvidere koble scriptet op mod dine egne knapper hvis du leger med configurator2 (fra adobe labs - labs.adobe.com)
Avatar billede cresten Nybegynder
08. oktober 2010 - 11:53 #4
tusind tak- nu begynder det virkelig og ligne noget:)Der mangler egentlig kun nogle få ting før det hele går op i en højere enhed:

1: Hvad kan man skrive istedet for (Folder.desktop + "/ExportPDFWithPreset.pdf"), hvis man selv ønsker og bestemme hvor pdf'en skal gemmes ned?

2: Er det muligt selv at navngive pdf'en der bliver exporteret?

3: Jeg ønsker at jobtitlen i metadata skal tage navn fra indesign jobbet, er det muligt?
Avatar billede Slettet bruger
08. oktober 2010 - 19:16 #5
1. Du kan skrive fx:

//For at gemme filen test.pdf på skrivebordet
  File(Folder.desktop + "/test.pdf"),
//eller for at gemme myTestDocument.pdf på c-drevet
File("c/myTestDocument.pdf"),

2. Du kan evt navngive pdfen ved at nupse inddesign dokumentets filnavn

function myExport(){
    //<fragment>
    var myDocument = app.documents.item(0);
    var myFileName;
        if(app.activeDocument.saved == true){
        //hvis dokumentet har været gemt indlæs filnavn
        myFileName = app.activeDocument.name;
        }
       
    var myPDFExportPreset = app.pdfExportPresets.item("[Press Quality]");
    myDocument.exportFile(
        ExportFormat.pdfType,
        File(Folder.desktop + "/"+myFileName +".pdf"),
        false,
        myPDFExportPreset
    );
    //</fragment>
}

3.

jobName = app.activeDocument.name;
Avatar billede cresten Nybegynder
11. oktober 2010 - 13:14 #6
Tusinde tak for svar.
Det er perfekt:)

Et sidste spørgsmål- for det jeg mente i spørgsmål 1 var egentlig om man ikke kunne få en dialogboks eller andet op, hvor man kunne bestemme hvor pdf filen skulle gemmes ned, hvergang. Det skal helst ikke være det samme sted. Så man ikke har en tempfolder.
Avatar billede Slettet bruger
11. oktober 2010 - 19:02 #7
Bum bum bum... Jeg får da godt nok testet min ellers begrænsede viden om InDesign scripting. Der ender md at jeg skal give dig point for at give mig nok udfordring til at udvikle mig ^_~

Anyways erstat følgende:
function myExport(){
    ...
    var myFileName;
        ...
        File(Folder.desktop + "/"+myFileName +".pdf"),
      ...
    //</fragment>
}

med
function myExport(){
    ...
    var myFileName;
    myFileName = File.saveDialog ();
        ...
        File(myFileName +".pdf"),
      ...
    //</fragment>
}


Variablen myFileName indeholder både filnavn og sti, der skal bare smides en filendelse på.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester