Automated PDF Conversion in NextCloud 18.0.0 does not work

Nextcloud version (eg, 12.0.2): 18.0.0
Operating system and version (eg, Ubuntu 17.04): CentOS 7.6
Apache or nginx version (eg, Apache 2.4.25): nginx/1.16.1
PHP version (eg, 7.1): PHP 7.3.13

The issue you are facing: Converting an .odt document to PDF with the Automated PDF Conversion app using the Flows feature does not work.

Is this the first time you’ve seen this error? (Y/N): Y

Steps to replicate it:

  1. Install the Automated PDF Conversion app.
  2. Tag a document with “pdf”, such as the sample .odt file included with each NextCloud install.
  3. Create a Flow to automatically convert documents that have a tag added. Filter for the tag “pdf”.
  4. The document is not converted, and the error below appears in theNextCloud log.

The output of your Nextcloud log in Admin > Logging:

OCA\DocumentServer\Document\DocumentConversionException: sh: ./x2t: Permission denied

    /var/www/nextcloud/apps/documentserver_community/lib/Document/ConverterBinary.php - line 60:

    OCA\DocumentServer\Document\ConverterBinary->run("")

    /var/www/nextcloud/apps/documentserver_community/lib/Controller/StaticController.php - line 90:

    OCA\DocumentServer\Document\ConverterBinary->test()

    /var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php - line 170:

    OCA\DocumentServer\Controller\StaticController->webApps("apps/api/documents/api.js")

    /var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php - line 99:

    OC\AppFramework\Http\Dispatcher->executeController(OCA\Document ... {}, "webApps")

    /var/www/nextcloud/lib/private/AppFramework/App.php - line 125:

    OC\AppFramework\Http\Dispatcher->dispatch(OCA\Document ... {}, "webApps")

    /var/www/nextcloud/lib/private/AppFramework/Routing/RouteActionHandler.php - line 47:

    OC\AppFramework\App::main("OCA\\Docume ... r", "webApps", OC\AppFramew ... {}, { path: "app ... "})

    <<closure>>

    OC\AppFramework\Routing\RouteActionHandler->__invoke({ path: "app ... "})

    /var/www/nextcloud/lib/private/Route/Router.php - line 299:

    call_user_func(OC\AppFramew ... {}, { path: "app ... "})

    /var/www/nextcloud/lib/base.php - line 1008:

    OC\Route\Router->match("/apps/docum ... s")

    /var/www/nextcloud/index.php - line 38:

    OC::handleRequest()

The output of your config.php file in /path/to/nextcloud (make sure you remove any identifiable information!):

<?php
$CONFIG = array (
  'objectstore_multibucket' =>
  array (
    'class' => 'OC\\Files\\ObjectStore\\S3',
    'arguments' =>
    array (
      'num_buckets' => 64,
      'bucket' => 'REDACTED',
      'autocreate' => true,
      'key' => 'REDACTED',
      'secret' => 'REDACTED',
      'hostname' => 's3.example.com',
      'port' => 443,
      'use_ssl' => true,
      'region' => 'REDACTED',
      'use_path_style' => false,
    ),
  ),
  'instanceid' => 'REDACTED',
  'passwordsalt' => 'REDACTED',
  'secret' => 'REDACTED',
  'trusted_domains' =>
  array (
    0 => 'example.com',
  ),
  'datadirectory' => '/var/www/nextcloud/data',
  'dbtype' => 'mysql',
  'version' => '18.0.0.10',
  'overwrite.cli.url' => 'https://example.com',
  'dbname' => 'nextcloud',
  'dbhost' => 'localhost',
  'dbport' => '',
  'dbtableprefix' => 'oc_',
  'mysql.utf8mb4' => true,
  'dbuser' => 'nextcloud',
  'dbpassword' => 'REDACTED',
  'installed' => true,
  'maintenance' => false,
  'memcache.local' => '\\OC\\Memcache\\APCu',
  'memcache.distributed' => '\\OC\\Memcache\\Redis',
  'redis' =>
  array (
    'host' => 'localhost',
    'port' => 6379,
  ),
  'mail_smtpmode' => 'smtp',
  'mail_smtpsecure' => 'tls',
  'mail_sendmailmode' => 'smtp',
  'mail_smtpauth' => 1,
  'mail_smtpauthtype' => 'LOGIN',
  'mail_smtphost' => 'smtp.example.com',
  'mail_smtpport' => '587',
  'mail_from_address' => 'demo',
  'mail_domain' => 'example.com',
  'mail_smtpname' => 'apikey',
  'mail_smtppassword' => 'REDACTED',
  'loglevel' => 2,
  'ldapIgnoreNamingRules' => false,
  'ldapProviderFactory' => 'OCA\\User_LDAP\\LDAPProviderFactory',
);

Document server fails with "./x2t: Permission denied" · Issue #10 · nextcloud/documentserver_community · GitHub should be fixed with a newer release. There are also some hints how to debug this issue further (for example checking the binary with ldd to see missing system libraries).

Please note the product name is Nextcloud and not NextCloud.

hi, i’m just testing this functionality from my 18.0.3. The pdf isn’t created. in the log i see the action is triggered. But don’t see any error, what could be wrong? I’m using the default OnlyOffice which is installed within the NExtcloud installation.

i have the same event set for triggering a chat post, that one is working.
in the log i see:
Info workflowengine Flow handling done for event \OCP\Files::postRename
2020-05-04T17:24:48+0200
Info workflowengine All qualified flow configurations are going to run PDF conversie
2020-05-04T17:24:48+0200
Debug workflowengine Flow rule qualified to run PDF conversie, config: {“id”:“2”,“class”:“OCA\WorkflowPDFConverter\Operation”,“name”:"",“checks”:"[1]",“operation”:“keep;overwrite”,“entity”:“OCA\WorkflowEngine\Entity\File”,“events”:"["\OCP\Files::postCreate","\OCP\Files::postWrite","\OCP\Files::postRename","\OCP\Files::postDelete","\OCP\Files::postTouch","\OCP\Files::postCopy",“OCP\SystemTag\ISystemTagObjectMapper::assignTags”]",“scope_type”:“1”,“scope_actor_id”:“admin_datacave”}
2020-05-04T17:24:48+0200
Debug workflowengine Flow activation: rules were requested for operation PDF conversie
2020-05-04T17:24:48+0200
Debug workflowengine Flow activated by event \OCP\Files::postRename

Regards,
Alexander