Donnez vie à vos documents numériques !
 

Renommer plusieurs champs de formulaire avec JavaScript

abracadabraPDF Forums PDF – Général Renommer plusieurs champs de formulaire avec JavaScript

  • Créateur
    Sujet
  • #71093
    paulivisual
    Participant

    Bonjour à tous !

    Une question qui avant de venir demander me semblait simple !

    Renommer des champs de formulaire textes en PDF (ex: j’ai “text-1”, “chabada”, “undefied”… et j’aimerais avoir “DJCK_001”, “DJCK_002” etc…

    J’ai beaucoup de formulaires PDF avec des champs Text, check box et radio a renommer et customiser.

    J’arrive a changer les couleurs, remplacer des caractères avec un script que j’ai trouvé, mais apparemment je bug pour renommer et intégrer ma séquence.

    Please help ;O)

    Voici le script trouvé… (pour le remplacement) // le site en référence pour le script : https://vielhuber.de/fr/blog/renommer-pdf-form-fields-en-masse/

     

    var fields = [];

    var props = [

    'alignment',

    'borderStyle',

    'buttonAlignX',

    'buttonAlignY',

    'buttonFitBounds',

    'buttonScaleHow',

    'buttonScaleWhen',

    'comb',

    'display',

    'doNotScroll',

    'editable',

    'exportValues',

    'fileSelect',

    'fillColor',

    'highlight',

    'lineWidth',

    'multiline',

    'multipleSelection',

    'numItems',

    'password',

    'readonly',

    'richText',

    'richValue',

    'rotation',

    'strokeColor',

    'style',

    'textColor',

    'textFont',

    'textSize',

    'userName'

    ];

    for (var i = 0; i < this.numFields; i++) {

    fields.push(this.getNthFieldName(i));

    }

    for (var i = 0; i < fields.length; i++) {

    var source_name = fields;

    // skip some names if needed

    if (source_name.indexOf('.') === -1) {

    continue;

    }

    // modifications to name (various examples)

    var target_name = source_name;

    target_name = source_name.replace(/\./g, '#');

    //target_name = target_name.toLowerCase();

    //target_name = target_name.replace(/\s/g, '');

    //target_name = target_name.replace(/\ß/g, 'ss');

    //target_name = target_name.replace(/\-|\/|\*|\.|\;|\:/g, '_');

    //target_name = target_name+'-S1';

    var source_field = this.getField(source_name);

    if (source_field !== null) {

    // debug output (if needed)

    //console.println(JSON.stringify([target_name, source_field.type, source_field.page, source_field.rect]));

    var page = source_field.page;

    if( !Array.isArray(page) ) { page = [page]; }

    for(var pages__value = 0; pages__value < page.length; pages__value++) {

    var rect = this.getField(source_name+'.'+pages__value).rect;

    var target_field = this.addField(

    target_name,

    source_field.type,

    page[pages__value],

    rect

    );

    }

    for (var p = 0; p < props.length; p++) {

    if (testField(source_field, props[p])) {

    target_field[props[p]] = source_field[props[p]];

    }

    }

    this.removeField(source_name);

    }

    }

    function testField(field, prop) {

    try {

    var tprop = field[prop];

    return true;

    } catch (e) {

    return false;

    }

    }

     

     

     

     

    • Ce sujet a été modifié le il y a 1 année et 10 mois par paulivisual.
  • Vous devez être connecté pour répondre à ce sujet.