{"id":2845,"date":"2017-08-21T15:02:17","date_gmt":"2017-08-21T15:02:17","guid":{"rendered":"https:\/\/answers.gurussolutions.com\/answers\/how-to-merge-multiple-pdf-documents-in-netsuite-using-xml-and-bfo-2\/"},"modified":"2026-07-28T18:25:15","modified_gmt":"2026-07-28T18:25:15","slug":"comment-fusionner-plusieurs-documents-pdf-dans-netsuite-a-laide-de-xml-et-de-bfo","status":"publish","type":"qa_entry","link":"https:\/\/answers.gurussolutions.com\/fr\/answers\/comment-fusionner-plusieurs-documents-pdf-dans-netsuite-a-laide-de-xml-et-de-bfo\/","title":{"rendered":"Comment fusionner plusieurs documents PDF dans NetSuite \u00e0 l&rsquo;aide de XML et de BFO ?"},"content":{"rendered":"","protected":false},"template":"","meta":{"_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","_kadence_starter_templates_imported_post":false,"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","ga_subtitle":"Les utilisateurs de NetSuite peuvent regrouper plusieurs fichiers PDF en un seul document en tirant parti des structures XML et du g\u00e9n\u00e9rateur de rapports BFO.","ga_short_answer":"NetSuite propose deux m\u00e9thodes principales pour fusionner plusieurs documents PDF : soit en combinant directement des cha\u00eenes XML avant la g\u00e9n\u00e9ration des PDF, soit en g\u00e9n\u00e9rant des PDF individuels, en les enregistrant dans le classeur, puis en les fusionnant \u00e0 l'aide d'une structure XML <pdfset> avec xmlToPDF.","ga_scenario":"Les utilisateurs de NetSuite ont souvent besoin de regrouper plusieurs documents PDF, tels que des factures, des bons de commande ou des rapports personnalis\u00e9s, en un seul fichier consolid\u00e9. Ce besoin se fait g\u00e9n\u00e9ralement sentir lorsqu\u2019il s\u2019agit de pr\u00e9senter des informations compl\u00e8tes ou de rationaliser la transmission des documents.","ga_solution":"NetSuite propose deux m\u00e9thodes principales pour fusionner plusieurs documents PDF, qui exploitent toutes deux la fonction xmlToPDF :\n\n1.  **Fusion directe de cha\u00eenes XML :** cette approche consiste \u00e0 combiner toutes les cha\u00eenes XML g\u00e9n\u00e9r\u00e9es par un moteur de rendu de mod\u00e8les. Pour SuiteScript 2.x, cela implique g\u00e9n\u00e9ralement l\u2019utilisation de fonctions telles que `render.create()` et `TemplateRenderer.renderAsString()`. Pour SuiteScript 1.0, on utilise la fonction nlapiCreateTemplateRenderer.renderToString. Ces cha\u00eenes XML individuelles sont ensuite pr\u00e9c\u00e9d\u00e9es de <pdfset> et suivies de <\/pdfset> afin de former une seule cha\u00eene XML avant d\u2019\u00eatre transmises \u00e0 xmlToPDF.\n2.  **Fusion de fichiers PDF pr\u00e9-g\u00e9n\u00e9r\u00e9s \u00e0 partir du dossier de fichiers :** Cette m\u00e9thode n\u00e9cessite de g\u00e9n\u00e9rer chaque fichier PDF individuellement \u00e0 l\u2019aide de xmlToPDF et de les enregistrer dans le dossier de fichiers NetSuite. Une fois tous les fichiers PDF stock\u00e9s, la fonction xmlToPDF est \u00e0 nouveau appel\u00e9e, cette fois en lui fournissant une cha\u00eene XML qui r\u00e9f\u00e9rence les URL des fichiers PDF enregistr\u00e9s. La structure XML correcte pour cette op\u00e9ration est la suivante :\n\n```\nxml\n    <pdfset>\n    <pdf src=\"file_cabinet_url_of_first_pdf\"\/>\n    <pdf src=\"file_cabinet_url_of_second_pdf\"\/>\n    <pdf src=\"file_cabinet_url_of_third_pdf\"\/>\n    <\/pdfset>\n```\n    . Veillez \u00e0 ce que l\u2019attribut src pointe correctement vers l\u2019URL du dossier de stockage de chaque fichier PDF concern\u00e9.\n\nPour une documentation compl\u00e8te sur les balises du g\u00e9n\u00e9rateur de rapports BFO et leur utilisation, consultez le guide d\u2019utilisation officiel de BFO : http:\/\/bfo.com\/products\/report\/docs\/userguide.pdf","ga_source_author":"","ga_source_author_email":"","ga_date_original":"2017-08-21T17:02:17+02:00","ga_date_verified":"2026-07-05","ga_source_subject":"How to merge two PDFs ?","ga_ans_id":"ANS-1106","ga_publish_decision":"publish_with_edits","ga_staleness_risk":"high","ga_review_priority":"spot_check","ga_tier2_verdict":"partially_outdated","ga_tier2_concerns":"The XML attribute syntax for 'src' in the <pdf> tag is incorrect in the original answer. It should be 'src=\"file_url\"' instead of 'src\"file\" cabinet\"\" url\"\" of\"\" first\"\" pdf\"'.; The provided reference URL 'http:\/\/bfo.com\/products\/report\/docs\/tags\/' is no longer valid and leads to a 404 page. Current BFO user guide documentation is available at 'http:\/\/bfo.com\/products\/report\/docs\/userguide.pdf'.; While 'nlapiCreateTemplateRenderer.renderToString' is a valid SuiteScript 1.0 function, current NetSuite development primarily uses SuiteScript 2.x, where the equivalent functions are 'render.create()' and 'TemplateRenderer.renderAsString()'.","ga_final_category":"SuiteScript Development","footnotes":""},"ga_category":[108,23,108],"ga_audience":[10],"ga_difficulty":[92],"class_list":["post-2845","qa_entry","type-qa_entry","status-publish","hentry","ga_category-developpement-suitescript","ga_category-suitescript-development","ga_audience-developer-suitescript","ga_difficulty-niveau-intermediaire"],"taxonomy_info":{"ga_category":[{"value":108,"label":"D\u00e9veloppement SuiteScript"},{"value":23,"label":"SuiteScript Development"},{"value":108,"label":"D\u00e9veloppement SuiteScript"}],"ga_audience":[{"value":10,"label":"Developer\/SuiteScript"}],"ga_difficulty":[{"value":92,"label":"Niveau interm\u00e9diaire"}]},"featured_image_src_large":[],"author_info":[],"comment_info":"","_links":{"self":[{"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/qa_entry\/2845","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/qa_entry"}],"about":[{"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/types\/qa_entry"}],"version-history":[{"count":1,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/qa_entry\/2845\/revisions"}],"predecessor-version":[{"id":4765,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/qa_entry\/2845\/revisions\/4765"}],"wp:attachment":[{"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/media?parent=2845"}],"wp:term":[{"taxonomy":"ga_category","embeddable":true,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/ga_category?post=2845"},{"taxonomy":"ga_audience","embeddable":true,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/ga_audience?post=2845"},{"taxonomy":"ga_difficulty","embeddable":true,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/ga_difficulty?post=2845"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}