Résolution des problèmes d’échec de génération de sortie de paramètre prédéfini en ligne de commande

Problème

Lors de la génération de sortie à l’aide de l’utilitaire de ligne de commande avec plusieurs paramètres prédéfinis, vous pouvez rencontrer des erreurs telles que « rh-render-process-gone » ou des erreurs de mémoire insuffisante Java, bloquant le processus. Cela peut entraîner le blocage ou l’arrêt de RoboHelp, et l’échec de la génération de sortie du paramètre prédéfini. Ce comportement est attendu et peut être résolu en suivant les étapes de dépannage décrites dans cet article.

Pourquoi ce problème survient-il ?

L’échec de la génération de sortie du paramètre prédéfini en ligne de commande se produit principalement pour les raisons suivantes :

  • Des ressources système insuffisantes (telles que le processeur et la mémoire) peuvent déclencher l’erreur « rh-render-process-gone », provoquant le blocage du processus.
  • RoboHelp est construit sur le framework Electron, et ce problème se produit en raison des modifications introduites dans Electron version 14 et ultérieures. Electron, qui utilise Chromium en interne, applique une limite de mémoire stricte pour le processus principal : 8 Go sur Windows et 16 Go sur macOS. Pour les gros projets, cela peut entraîner une erreur de mémoire insuffisante du processus, provoquant le problème lorsque l’utilisateur a un gros projet ou tente de générer plusieurs sorties de paramètres prédéfinis en parallèle.
Remarque :

Chromium a implémenté ces limites pour améliorer les performances et la sécurité, et il n’existe aucune solution de contournement disponible pour désactiver ou modifier ce paramètre. Les versions antérieures d’Electron n’avaient aucune restriction sur la consommation de RAM, donc ce problème ne se produisait pas lors de la génération de plusieurs sorties via la ligne de commande.

Comment résoudre le problème ?

  1. Téléchargez le fichier single_preset_output.zip sur votre système. Extrayez le fichier zip.

  2. Accédez au dossier solution et localisez le fichier nommé preset_output.bat. Ouvrez-le à l’aide d’un éditeur de texte, par exemple le Bloc-notes.

  3. Définissez les variables suivantes comme indiqué ci-dessous :

    • Le chemin d’accès du fichier de projet selon l’emplacement où votre fichier .rhpj est enregistré pour le projet souhaité. Par exemple, définissez le chemin d’accès du fichier de projet comme : PROJECT_FILE="C:\sanitization-effort\Sanitized.rhpj".
    • La valeur de la variable OUTPUT_PRESET sur votre sortie de paramètre prédéfini souhaitée. Exemple : "Frameless".
    • Le chemin d’accès LOG_FILE sur le chemin d’accès du système de fichiers souhaité.
    • OUTPUT_DIR sur le chemin d’accès du répertoire de sortie souhaité sur le système.
  4. Enregistrez le fichier après avoir modifié tous les détails avec succès.

  5. Ouvrez l’invite de commande en tant qu’administrateur et accédez à l’emplacement où se trouve votre fichier preset_output.bat. Par exemple, si votre fichier se trouve à l’emplacement C:/Downloads/solution/preset_output.bat, exécutez la commande suivante dans le terminal :

     cd "C:/Downloads/solution"

  6. Exécutez la commande : 

    .\main "preset_output.bat"

    Vos sorties prédéfinies seront générées sous peu dans le chemin d’accès OUTPUT_DIR.

  7. Si un processus RoboHelp existant s’exécute en arrière-plan, un message d’erreur « Un autre processus est en cours d’exécution » s’affiche (voir l’image ci-dessous). Dans ce cas, arrêtez les processus RoboHelp en cours d’exécution et réessayez. Une fois le problème résolu, la sortie sera générée avec succès dans le dossier de sortie spécifié.

    Remarque :

    Si vous utilisez un script personnalisé pour générer plusieurs sorties prédéfinies et que vous rencontrez des échecs, reportez-vous à la solution de contournement fournie dans le dossier multiple_preset_output.zip. Modifiez le contenu de rh_workaround.bat et de pdf_ap_1.bat dans ce dossier en fonction de vos exigences.

Adobe, Inc.

Recevez de l’aide plus rapidement et plus facilement

Nouvel utilisateur ?