v0.0.3 (alpha)

SuperPrint Application web professionnelle de PAO (Publication Assistée par Ordinateur) Professional web-based Desktop Publishing (DTP) application

42 692
Lignes de code
Lines of code
475+
Fonctions nommées
Named functions
21
Catégories
Categories
19
Fabric.js patches
10
Formats d'import
Import formats
~50
Raccourcis clavier
Keyboard shortcuts
3
Langues UI
UI languages
SuperPrint est une application SPA entièrement en navigateur, comparable à Adobe InDesign ou Scribus, permettant de créer des documents multi-pages avec typographie professionnelle, chaînage de texte, outil plume Bézier, masquage d'images, export PDF avec fond perdu et repères d'impression.
SuperPrint is a fully browser-based SPA, comparable to Adobe InDesign or Scribus, enabling multi-page document creation with professional typography, text chaining, Bézier pen tool, image masking, PDF export with bleed and trim marks.

Architecture

Structure des fichiers

File Structure

SUPERPRINT12master/
├── index.html              ─ SPA principale (~3 000 lignes), modales, toolbar, sidebars
├── documentation.html      ─ Ce fichier / This file
├── ai-proxy.php            ─ Proxy serveur pour les APIs IA (CORS + clés)
├── service-worker.js       ─ PWA offline caching (network-first)
├── manifest.webmanifest    ─ PWA manifest
├── robots.txt / sitemap.xml
├── JS/
│   ├── main.js             ─ Logique applicative complète (42 692 lignes)
│   ├── simple-pen-tool.js  ─ Module outil plume standalone
│   ├── mobile-widgets.js   ─ Widgets mobiles
│   ├── fabric.min.js       ─ Fabric.js 5.3.0
│   ├── jspdf.umd.min.js   ─ Génération PDF
│   ├── jszip.min.js        ─ Gestion ZIP (IDML, ODT, .sp)
│   ├── pdf.min.js          ─ PDF.js (import PDF)
│   ├── paper-full.min.js   ─ Paper.js (opérations booléennes)
│   ├── mammoth.min.js      ─ Conversion DOCX → HTML
│   ├── hypher.js           ─ Moteur de césure
│   └── hyphenation-*.js    ─ Dictionnaires césure (fr, en, de, es, it)
├── CSS/
│   ├── main.css            ─ Feuille de styles principale
│   └── mobile-widgets.css  ─ Styles mobiles
├── SP/                     ─ Assets & templates
└── icons/                  ─ Icônes PWA

Stack technique

Technical Stack

BibliothèqueLibraryVersionRôleRole
Fabric.js5.3.0Moteur de rendu canvas (objets, texte, images, événements)Canvas rendering engine (objects, text, images, events)
jsPDF2.xGénération PDF multi-pages avec fond perduMulti-page PDF generation with bleed
JSZip3.xGestion fichiers ZIP (import IDML/ODT, format .sp)ZIP file handling (IDML/ODT import, .sp format)
PDF.js3.xRendu PDF pour import page par pagePDF rendering for page-by-page import
Paper.js0.12Opérations booléennes de tracés (Pathfinder)Boolean path operations (Pathfinder)
Mammoth.js1.xConversion DOCX → HTMLDOCX to HTML conversion
Hypher0.2Moteur de césure (5 langues)Hyphenation engine (5 languages)

Partie 1 — Catalogue des fonctions 475+

Part 1 — Function Catalog 475+

3.1 Gestion des pages 3.1 Page Management 16

#FonctionFunctionLigneTypeParamètresParamsDescription FRDescription EN
1createNewPage8728declCrée une page vierge et l'ajoute au documentCreates a new blank page and appends it
2renderAllPages3742declDétruit les canvas existants et recrée tous les conteneurs de pagesDestroys existing canvases and re-creates all page containers
3createPageCanvas3864declcontainer, index, width, height, positionCrée un canvas Fabric pour une page simpleCreates a Fabric canvas for a single page
4goToPage830declpageIndexFait défiler la vue vers une page spécifiqueScrolls viewport to a specific page
5updatePage23796declMet à jour l'affichage de la page couranteUpdates the current page display/indicator
6changePage23802decldeltaNavigue en avant/arrière de delta pagesNavigate forward/backward by delta pages
7updatePageIndicator15395declMet à jour le badge de numéro de page dans l'UIUpdates the page number UI badge
8getCurrentPageIndex17481declRetourne l'index de la page activeReturns the index of the currently active page
9getActiveCanvas8696declRetourne le canvas Fabric actuellement actifReturns the currently active Fabric canvas
10drawMargins8735declcanvas, pageWidth, pageHeightDessine les repères de marge et de fond perduDraws margin/bleed guide lines on a canvas
11saveAllPages6785declSérialise tous les canvas en JSONSerializes all page canvases to JSON
12applySelectionHighlightAfterRender3850declSurligne la page active en mode planche après le renduHighlights the active spread page after render
13duplicateObject15369declDuplique l'objet sélectionnéDuplicates the currently selected object
14calculateImposition17496declnumPagesCalcule l'ordre d'imposition (cahier)Calculates imposition (booklet) page order
15closeImpositionModal17552declFerme la modale d'impositionCloses the imposition configuration modal
16closeManualModal17566declFerme la modale d'imposition manuelleCloses the manual imposition modal

3.2 Canvas / Fabric.js Core 3.2 Canvas / Fabric.js Core 25

#FonctionFunctionLigneTypeParamsDescription FRDescription EN
1setupCanvasEvents4128declcanvas, indexAttache tous les gestionnaires d'événements Fabric à un canvasAttaches all Fabric event handlers to a canvas
2setupCrossBlockDragSelection5896IIFEActive la sélection de texte par glissement cross-textboxEnables cross-textbox text drag selection
3renderVerticalHandle1012declctx, left, top, styleOverride, fabricObjectRend une poignée de redimensionnement verticaleRenders a vertical resize control
4renderHorizontalHandle1032declctx, left, top, styleOverride, fabricObjectRend une poignée de redimensionnement horizontaleRenders a horizontal resize control
5renderCornerHandle1052declctx, left, top, styleOverride, fabricObjectRend une poignée de coinRenders a corner resize control
6getCanvasPoint1073declcanvas, eventDataConvertit un événement souris/touch en coordonnées canvasConverts mouse/touch event to canvas coordinates
7createTextboxControls1632declCrée les contrôles de redimensionnement personnalisés des TextboxCreates custom Fabric textbox resize controls
8actionHandlerML/MR/MT/MB1301–1450decleventData, transformData, x, yGestionnaires de redimensionnement par poignée (gauche, droite, haut, bas)Resize handle action handlers (left, right, top, bottom)
9createCornerHandler1497declcornerTypeFabrique de gestionnaires de coinFactory for corner resize handlers
10commonMouseUpHandler1582decleventData, transformDataGestionnaire commun après toute transformationCommon handler after any transform completes
11getObjectBounds1166declobjRetourne le bounding box d'un objet FabricReturns bounding box of a Fabric object
12setObjectFromBounds1225declobj, boundsPositionne/dimensionne un objet depuis un bounding boxSets object position/size from bounding box
13optimizedRender3270declcanvas, delay=0Rendu canvas avec debounce/poolingDebounced/pooled canvas render
14serializeObject6796declobjSérialise un objet Fabric en JSONSerializes a single Fabric object to JSON
15onCanvasLoaded9138declInitialisation post-chargement du canvasPost-load canvas initialization
16_postLoadCanvas9152declfabricCanvas, isSpreadTraitement des objets après chargement JSONProcesses objects after canvas JSON load
17spApplyFigmaControls1807windowtextboxApplique les contrôles style Figma à une TextboxApplies Figma-like resize controls to textbox
18deepCleanupCanvas3655declfabricCanvasNettoyage profond du canvas (GPU, mémoire, listeners)Deep cleanup of canvas GPU/memory

3.3 Zoom 6

#FunctionLineTypeParamsDescription FRDescription EN
1applyZoom19407declApplique le niveau de zoom via CSS transform + MàJ DPRApplies zoom level via CSS transform + DPR update
2setInitialZoom19435declCalcule et applique le zoom initial adapté au viewportCalculates and sets zoom to fit viewport
3normalizeZoomLevel19401declClamp le zoom dans la plage valideClamps zoom to valid min/max range
4_updateCanvasDPRForZoom19377declAjuste le DPR des canvas selon le zoom pour un texte netAdjusts canvas DPR based on zoom for sharp text
5handleWheelZoom19484arroweventGestionnaire zoom molette (Ctrl+scroll)Mouse wheel zoom handler (Ctrl+scroll)
6handleZoomShortcut17637decleRaccourcis clavier de zoom (Ctrl+/Ctrl-)Keyboard zoom shortcuts (Ctrl+/Ctrl-)

3.4 Historique / Undo-Redo 3.4 History / Undo-Redo 11

#FunctionLineTypeParamsDescription FRDescription EN
1saveState8941declactionSauvegarde l'état courant dans l'historique d'annulationSaves current state to undo history
2saveStateFromPages8994declactionSauvegarde l'état directement depuis le tableau pagesSaves state from pages array directly
3undo9028declAnnule la dernière actionUndo last action
4redo9034declRétablit la dernière action annuléeRedo last undone action
5restoreState9045declstateRestaure un état sauvegardéRestores a saved history state
6_doRestoreState9059declstateLogique interne de restauration d'étatInternal state restoration logic
7_fastRestoreCanvases9122declRestauration rapide des canvas sans re-rendu completFast canvas restoration without full re-render
8updateHistoryPanel9309declMet à jour le panneau UI d'historiqueUpdates the undo/redo history UI panel
9debouncedSaveState746declactionSauvegarde d'état avec debounce (évite les sauvegardes rapides)Debounced state save (avoids rapid saves)
10_spRestoreSaveHistory3546declRestaure l'historique de sauvegarde depuis IndexedDBRestores save history from IndexedDB
11_spRestoreSaveHistoryFallback3599declRestauration de secours en cas d'erreurFallback history restoration on error

3.5 Texte / Typographie 3.5 Text / Typography 48

#FunctionLineTypeParamsDescription FRDescription EN
1forceTextRecalc1080decltargetForce le recalcul de la mise en page du texteForces text layout recalculation
2spLockTextboxDimensions1132decltextObjVerrouille les dimensions d'une textboxLocks textbox width/height to prevent resize
3spGraphemeSplit1879declstrDécoupe une chaîne par clusters de graphèmesSplits string by grapheme clusters
4getFontDecl1888declobjRetourne la déclaration CSS de policeGets CSS font declaration string
5getMaxFontSizeFromStyles1899declobjRetourne la taille de police max depuis les styles inlineGets max font size from inline styles
6measureRawWithFont1997declobj, text, fontSize, fontWeight, fontFamilyMesure la largeur du texte avec une police expliciteMeasures text width with explicit font params
7fallbackHyphenate2067declwordCésure basique par syllabes (fallback)Basic syllable-based hyphenation fallback
8spForceInlineStyleRewrap2735decltextboxForce le ré-enveloppement avec styles inlineForces rewrap respecting inline styles
9spForceTextboxRewrap2827decltextboxForce un ré-enveloppement complet de la textboxForces complete textbox rewrap
10addSpecialTextObjectsToCanvas3024declfabricCanvas, pageIndex, positionAjoute les numéros de page automatiquesAdds auto page numbers to canvas
11restoreTextboxAfterLoad3154declobjRestaure les propriétés SP d'une textbox après chargement JSONRestores textbox SP properties after JSON load
12applyTextboxClipPath3197decltextboxApplique un clip path pour masquer le débordementApplies clip path to hide overflow
13applyTextStyleToSelection26801declstyle, valueApplique un style de texte à la sélectionApplies a text style to current selection
14toggleButton26830declstyleBascule gras/italique/soulignéToggles bold/italic/underline
15applyHyphenation20651declmodeDéfinit le mode de césure (auto/manuel/aucun)Sets hyphenation mode (auto/manual/none)
16toggleScript20924decltypeBascule exposant/indiceToggles superscript/subscript
17transformCase20948declmodeTransforme la casse (MAJ/min/Titre)Transforms text case (upper/lower/title)
18addText11033declActive l'outil de création de texte (dessiner-pour-créer)Activates text creation tool (draw-to-create)
19createSimpleTextBox11183declcanvas, left, top, width, heightCrée une zone de texte à la position/taille donnéeCreates a text box at given position/size
20applyFixedHeightProtection11142decltextboxEmpêche la textbox de grandir automatiquement en hauteurPrevents textbox from auto-growing height
21applyCrossBlockStyle16399declstylePropsApplique un style à la sélection cross-blockApplies style to cross-block text selection
22ensureCrispText12217decltbAssure un rendu texte net au sous-pixelEnsures crisp subpixel text rendering
23softHyphenateWord28359declwordInsère des césures optionnelles dans un motSoft-hyphenates a single word
24forceFontRefresh18618declobj, canvasForce le rechargement de la police d'un objetForces font refresh for an object

3.6 Système de chaînage de texte 3.6 Text Chaining System 60+

Système de chaînage de texte de type InDesign : le texte débordant d'un bloc est automatiquement distribué dans les blocs liés suivants, y compris sur d'autres pages. Les styles inline sont préservés à travers la chaîne.
InDesign-style text chaining system: overflow text is automatically distributed to linked blocks, including across pages. Inline styles are preserved through the chain.
#FunctionLineTypeParamsDescription FRDescription EN
1checkTextOverflow11566declcanvasVérifie le débordement de toutes les textbox du canvasChecks all textboxes on canvas for overflow
2updateOverflowIndicator11657decltextbox, canvasAffiche/masque l'indicateur de débordementShows/hides overflow indicator on textbox
3propagateBaseStyleToChain11806declobj, stylePropsPropage le style de base à toute la chaînePropagates base style to all chain blocks
4cleanupChainOnBlockDelete11843declobjNettoie les liens de chaîne lors de la suppression d'un blocCleans chain links when a block is deleted
5_redistributeWithStyles12013declchain, fullText, allStylesRedistribue le texte+styles à travers la chaîneRedistributes text+styles across chain
6redistributeLinkedTextChain12110declobjRedistribue le texte dans tous les blocs liésReflows text across all linked blocks
7getFittingTextIndex12230decltextbox, fullTextTrouve combien de texte tient dans une textboxFinds how much text fits in a textbox
8flowTailAcrossPages12347asynctailText, sourceObj, sourceCanvas, pageIndexDistribue le texte excédentaire sur les pages suivantesFlows overflow text to new pages
9autoFlowTextToNextPage12422decltextObj, canvas, pageIndexAuto-flow du débordement vers la page suivanteAuto-flows overflow to next page
10createLinkedTextBlock12447declsourceObj, sourceCanvas, targetCanvas, targetPageIdxCrée un nouveau bloc lié sur la page cibleCreates a new linked block on target page
11findFirstBlockInChain15613decltextObjRemonte au premier bloc d'une chaîneWalks backward to first block in chain
12buildLinkedChain15668declfirstBlockConstruit le tableau ordonné de tous les blocs d'une chaîneBuilds ordered array of all chain blocks
13findBlockById15700decltextLinkIdTrouve une textbox par son textLinkIdFinds a textbox by its textLinkId
14addOrUpdateChainBadge15712decltb, colorAjoute/met à jour le badge d'index de chaîneAdds/updates chain index badge on textbox
15updateLinkArrowsForChain15776declstartObjRedessine les flèches de liaison pour toute la chaîneRedraws link arrows for entire chain
16drawCrossBlockHighlight16050decltb, fromChar, toCharDessine la surbrillance sur une plage de texte cross-blocDraws highlight overlay on a block range
17getCrossBlockSelectedText16279declRetourne le texte sélectionné à travers les blocsReturns selected text across blocks
18breakTextLink16642declRompt un lien entre deux blocs connectésBreaks a link between two connected blocks
19autoLinkTextBlocks16823declLie automatiquement les textbox sélectionnées dans l'ordreAuto-links selected textboxes in order
20createThreeColumnLinkedText17113declCrée une mise en page à 3 colonnes liéesCreates a 3-column linked text layout

3.7 Import / Export 3.7 Import / Export 35

#FunctionLineTypeParamsDescription FRDescription EN
1importSVG10306declImporte un fichier SVG via sélecteur de fichierImports SVG file via file picker
2flowHtmlIntoPages21420asynchtml, startPageIndexImporte du contenu HTML dans les pagesImports HTML content into pages
3importWordDocument39630asyncfile, startPageIndexImporte un document Word .docxImports Word .docx document
4extractOdtHtml21688declarrayBufferExtrait le HTML d'un fichier ODTExtracts HTML from ODT file
5importScribusFile21928declxmlStrImporte un fichier Scribus .sla (XML)Imports Scribus .sla XML file
6processIdmlZip22202asyncfileTraite un fichier InDesign IDMLProcesses InDesign IDML zip
7parseIdmlAndBuild22330asynczip, fontsMap, imagesMapParse la structure IDML et construit les pagesParses IDML structure and builds pages
8importPDFPages39734asyncpageNumbers, recadrageModeImporte des pages PDF sélectionnéesImports selected pages from a PDF
9showPDFImportModal39331asyncfileAffiche la modale d'import PDF avec aperçusShows the PDF import dialog with previews
10renderPageToImageWithBleed25329asyncpageIndex, position, quality, bleed, ...Rend une page en image pour l'export (avec fond perdu)Renders a page to image for export (with bleed)
11confirmExport23935asyncConfirme et exécute l'export PDFConfirms and executes standard PDF export
12exportImposedPDF25020asyncExporte un PDF imposé (cahier/livret)Exports imposed/booklet PDF
13confirmD4Export23644asyncExport D4/Print-to-Web (mini-site HTML en ZIP)D4/Print-to-Web export (HTML mini-site in ZIP)
14saveProjectLocal41273windowSauvegarde le projet en JSON localSaves project to local JSON file
15saveProjectWeb341305asyncSauvegarde le projet sur Web3/IPFSSaves project to Web3/IPFS
16saveProjectSP41436windowSauvegarde au format .sp (archive ZIP)Saves project in .sp format (zip)
17loadProjectSP41552windowfileContentCharge un fichier projet .spLoads a .sp project file

3.8 Interface / Panneaux 3.8 UI / Panels 35

#FunctionLineTypeParamsDescription FRDescription EN
1toggleSidebar120declsideBascule la barre latérale gauche/droiteToggles left/right sidebar collapse
2showPageLoader768declmessageAffiche l'overlay de chargementShows loading overlay with message
3hidePageLoader784declMasque l'overlay de chargementHides loading overlay
4updateLayersPanel15273declMet à jour le panneau couches/objetsUpdates the layers/objects panel UI
5updateTransformPanel9354declMet à jour le panneau de propriétés de transformationUpdates the transform properties panel
6applyTransform9554declApplique les valeurs de transformation depuis les inputsApplies transform values from panel inputs
7applyColors9645declApplique les couleurs fond/contour depuis le panneauApplies fill/stroke colors from panel
8rgbToCMYK19772declhexConvertit une couleur hex RGB en valeurs CMYKConverts hex RGB to CMYK values
9setupShapesDropdown9876declInitialise le menu déroulant des formesInitializes shapes dropdown menu
10setupImportDropdown9914declInitialise le menu déroulant d'importInitializes import dropdown menu
11initNumberSpinners588declrootInitialise les inputs numériques avec boutons +/-Initializes numeric spinner inputs
12showTooltipAt13195declx, y, textAffiche un tooltip à une position écranShows tooltip at screen position
13enablePerformanceMode18614declenabledActive/désactive le mode haute performanceToggle performance mode UI

3.9 Pages maîtresses 3.9 Master Pages 3

#FunctionLineTypeParamsDescription FRDescription EN
1applyMasterToPage26141declpageIndex, masterIdApplique un gabarit à une pageApplies a master page template to a page
2openMasterEditor26222declmasterIdOuvre l'éditeur de page maîtresseOpens the master page editor
3closeMasterEditor26331declFerme l'éditeur de page maîtresseCloses the master page editor

3.10 Mode planche (Spread) 3.10 Spread Mode 22

#FunctionLineTypeParamsDescription FRDescription EN
1createSpreadCanvas6889declcontainer, leftIdx, rightIdx, w, hCrée un canvas double-page (planche)Creates a double-page spread canvas
2loadSpreadContent7090declfabricCanvas, leftIdx, rightIdxCharge le contenu des pages dans la plancheLoads page content into spread
3setupSpreadEventHandlers7213declfabricCanvas, leftIdx, rightIdxAttache les gestionnaires d'événements spécifiques au spreadAttaches spread-specific event handlers
4saveSpreadContent7443declfabricCanvas, leftIdx, rightIdxSauvegarde le contenu du spread dans le tableau pagesSaves spread content back to pages array
5addSpreadGuides7632declfabricCanvas, w, h, bleedPx, forceRecreateAjoute les repères de marge/gouttière au spreadAdds margin/gutter guides to spread
6convertSpreadToSingle7857declConvertit la vue planche en pages simplesConverts spread view back to single pages
7handleSpreadPageOverflow7943declcanvas, pageIdx, objGère le débordement d'objets au-delà de la limite du spreadHandles object crossing spread boundary
8createSpreadMirrorObject8080declsourceObj, sourceCanvas, ...Crée un miroir d'objet sur la page adjacenteCreates mirror of object on adjacent page
9syncMirrorWithSource8455declsourceObjSynchronise l'objet miroir avec sa sourceSyncs mirror object with its source
10checkAllObjectsForSpreadOverflow8598declRe-vérifie tous les objets pour le débordement de spreadRe-checks all objects for spread overflow

3.11 Outils (Dessin, Formes, Images, Masques, Recadrage, Booléens) 3.11 Tools (Drawing, Shapes, Images, Masks, Crop, Booleans) 80+

Dessin & Outil plume

Drawing & Pen Tool

#FunctionLineParamsDescription FRDescription EN
1activateFreeformDrawing10224Active le mode dessin libre (pinceau)Activates freeform brush drawing mode
2activatePenTool10326Active l'outil plume BézierActivates the Bézier pen tool
3penMouseDown / penMouseMove / penMouseUp10365–10500eGestionnaires souris de l'outil plumePen tool mouse handlers
4buildSVGPath10687points, closePathConstruit une chaîne SVG path à partir de pointsBuilds SVG path string from points
5finalizePenPath10734closePathFinalise le tracé plume en objet FabricFinalizes pen path into Fabric object
6editExistingPenPath10812pathObjectEntre en mode édition d'un tracé existantEnters edit mode for existing path

Formes

Shapes

#FunctionLineParamsDescription FRDescription EN
1addRect9744Ajoute un rectangleAdds a rectangle
2addCircle9778Ajoute un cercle/ellipseAdds a circle/ellipse
3addStar9822Ajoute une étoileAdds a star shape

Images & Masquage

Images & Masking

#FunctionLineParamsDescription FRDescription EN
1addImage12622Ouvre le sélecteur de fichier pour ajouter une imageOpens file picker to add an image
2importImageIntoShape12552shapePath, canvasImporte une image dans un masque de formeImports image into a shape mask
3applyImageMaskToShape13514shapeObj, imageObj, canvas, urlApplique une image comme remplissage masquéApplies image as fill to shape mask
4fitImageToShape13827shapeObj, canvas, mode, optionsAdapte l'image à la forme (cover/contain)Fits image to shape (cover/contain)
5openCropModal14294imageObjOverrideOuvre la modale de recadrageOpens the crop modal
6applyCrop15054Applique le recadrage en coursApplies current crop to image
7replaceImageForObject12979imageObj, optsRemplace la source d'image d'un objetReplaces image source for an object
8restoreImageMasksAfterLoad13225canvasRestaure les masques d'image après chargement JSONRestores image masks after JSON load

Opérations booléennes (Pathfinder)

Boolean Operations (Pathfinder)

#FunctionLineParamsDescription FRDescription EN
1uniteShapes40277objectsUnion booléenne de formesBoolean unite (union) of shapes
2subtractShapes40281objectsSoustraction booléenneBoolean subtract of shapes
3intersectShapes40285objectsIntersection booléenneBoolean intersect of shapes
4excludeShapes40289objectsExclusion booléenne (XOR)Boolean exclude (XOR) of shapes
5applyPathfinderOperation39997operationApplique l'opération Pathfinder sélectionnéeApplies selected pathfinder boolean op

Épreuvage écran (Soft Proofing)

Soft Proofing

#FunctionLineParamsDescription FRDescription EN
1applySoftProof10153proofApplique un profil ICC d'épreuvage aux canvasApplies ICC soft proof to canvases
2updateActiveSoftProof10190Met à jour le profil d'épreuvage actifUpdates which soft proof is active

3.12 Sélection / Alignement 3.12 Selection / Alignment 8

#FunctionLineParamsDescription FRDescription EN
1alignSelectedObjects27293directionAligne plusieurs objets sélectionnésAligns multiple selected objects
2alignObject15213alignAligne un objet sur le plan de travailAligns single object on artboard
3centerObjectOnArtboard33503axisCentre l'objet sur le plan de travail (H/V/les deux)Centers object on artboard (H/V/both)
4altDuplicateSingle6220canvas, targetDuplication Alt+glisser (objet unique)Alt+drag duplicate single object
5handleCrossPageDrag6312e, sourceCanvasGère le glisser d'objets entre pagesHandles drag of object across page boundaries
6moveObjectToPage6704obj, sourceCanvas, sourceIdx, targetIdxDéplace un objet vers une autre pageMoves object to another page

3.13 i18n / Localization 5

#FunctionLineParamsDescription FRDescription EN
1_t30959sel, keyTraduit le contenu texte d'un élémentTranslates text content of element
2_tt30964sel, keyTraduit le tooltip d'un élémentTranslates tooltip of element
3_th30969sel, keyTraduit le innerHTML d'un élémentTranslates innerHTML of element
4_npUpdateLabels31120Met à jour les labels de la modale Nouveau projetUpdates new project modal labels
5filterAssetsByLang35873langFiltre les assets par langueFilters assets panel by language

3.14 IndexedDB / Stockage 3.14 IndexedDB / Storage 21

#FunctionLineParamsDescription FRDescription EN
1openDB40695Ouvre/crée la base IndexedDB (SuperPrintDB V2)Opens/creates IndexedDB database
2autoSaveProject40715Sauvegarde automatique dans IndexedDBAuto-saves project to IndexedDB
3loadAutoSavedProject40775Charge le projet auto-sauvegardéLoads auto-saved project from IndexedDB
4clearAutoSave40793Supprime la sauvegarde automatiqueClears auto-save data
5pushSaveHistory40815typeAjoute une entrée dans l'historique de sauvegardePushes save entry to history
6saveSessionHistory40909Sauvegarde l'historique undo/redo de sessionSaves undo/redo session history
7loadSessionHistory40934Charge l'historique undo/redo de sessionLoads undo/redo session history
8startAutoSave40952Démarre le timer de sauvegarde automatiqueStarts auto-save interval timer
9uploadToIPFS40425apiKey, jsonDataUpload le projet sur IPFS via PinataUploads project to IPFS via Pinata
10loadWeb3Save40452hashCharge un projet depuis IPFS par hashLoads project from IPFS by hash

3.15 Nouveau projet 3.15 New Project 12

#FunctionLineParamsDescription FRDescription EN
1newProject41012Propose de sauvegarder puis lance un nouveau projetPrompts to save then starts new project
2openNewProjectModal41027Ouvre la modale de nouveau projetOpens the new project modal
3createNewProjectFromModal41118Crée le projet avec les paramètres de la modaleCreates project with modal settings
4npSelectFormat41062btnSélectionne un format de page prédéfiniSelects a page format preset
5npUpdatePreview41081Met à jour l'aperçu de formatUpdates the format preview thumbnail
6npSetViewMode41111modeDéfinit le mode de vue (simple/planche)Sets view mode (single/spread)

3.16 Performance / Cleanup 11

#FunctionLineParamsDescription FRDescription EN
1enableHighPerformance3345Active le mode rendu haute performanceEnables high-performance rendering mode
2deepCleanupCanvas3655fabricCanvasNettoyage profond du canvas (GPU/mémoire/listeners)Deep cleanup of canvas GPU/memory/listeners
3preloadFonts3364Précharge toutes les polices disponiblesPreloads all available fonts
4optimizeForTypography3413Désactive temporairement les animations pour les opérations texteTemporarily disables animations for text ops
5_spReleaseMemoryPressure369aggressiveLibère la pression mémoire GPU/RAMReleases GPU/memory pressure
6init3432Initialisation principale de l'applicationMain application initialization

3.17 Utilitaires 3.17 Utilities 27

#FunctionLineParamsDescription FRDescription EN
1mmToPx3282mmConversion millimètres → pixels (72 DPI)Millimeters to pixels (72 DPI)
2pxToMm3283pxConversion pixels → millimètresPixels to millimeters
3pxToCm / cmToPx3284–3303valConversion pixels ↔ centimètresPixels ↔ centimeters conversion
4inToPx / pxToIn3304–3305valConversion pixels ↔ poucesPixels ↔ inches conversion
5getPxToUnitFn3309Retourne la fonction de conversion pour l'unité en coursReturns conversion fn for current unit
6getPageCenter812canvasRetourne le centre de la page activeGets center point of active page
7toNumber28247v, defValConvertit en nombre avec fallbackConverts value to number with fallback
8clamp28251n, min, maxBorne un nombre dans un intervalleClamps number to range
9sanitizeColor28253c, defAssainit une chaîne couleurSanitizes color string
10setupEventListeners18775Configuration maître de tous les écouteurs clavier/sourisMaster keyboard/mouse event listener setup
11startSystemMonitoring308Démarre le monitoring des ressources systèmeStarts system resource monitoring

3.18 Grilles / Repères 3.18 Grids / Guides 9

#FunctionLineParamsDescription FRDescription EN
1setSnapToGuidesEnabled22969nextActive/désactive l'aimantation aux repèresToggles snap-to-guides
2getGridSettings22982Retourne les paramètres de grille actuelsReturns current grid settings
3buildLayoutGridForArea23015canvas, area, settingsConstruit la grille de colonnes/rangéesBuilds column/row layout grid
4buildBaselineGridForArea23049canvas, area, settingsConstruit la grille de ligne de base typographiqueBuilds typographic baseline grid
5applyGridToCanvas23067canvas, settingsApplique les paramètres de grille à un canvasApplies grid settings to a canvas
6rebuildGridAll23112Reconstruit la grille sur toutes les pagesRebuilds grid on all pages

3.19 Caractères spéciaux / Glyphes 3.19 Special Characters / Glyphs 8

#FunctionLineParamsDescription FRDescription EN
1spInsertSpecialChar33162charToInsertInsère un caractère spécial au curseurInserts a special character at cursor
2openGlyphsModal33298Ouvre la modale de glyphes/caractères spéciauxOpens the glyphs/special chars modal
3populateGlyphsGrid33354Remplit la grille de glyphes pour la police activePopulates the glyph grid for current font
4glyphsInsertChar33457Insère le glyphe sélectionné dans le texteInserts selected glyph into text

3.21 Mobile Helpers 12

#FunctionLineParamsDescription FRDescription EN
1initMobileBurgerMenu42219Initialise le menu hamburger mobileInitializes mobile hamburger menu
2initMobileTouchContextMenu42318Initialise le menu contextuel tactileInitializes mobile touch context menu
3spMobileSelectAll~42479Tout sélectionner (mobile)Select all objects (mobile)
4spMobileCopy / Paste / Delete~42501–42583Copier / Coller / Supprimer (mobile)Copy / Paste / Delete (mobile)

Partie 2 — Patches Fabric.js Part 2 — Fabric.js Prototype Patches 19

Ces overrides étendent ou remplacent les méthodes cœur de Fabric.js pour le comportement spécifique de SuperPrint (typographie avancée, contrôles personnalisés, sérialisation).
These overrides extend or replace Fabric.js core methods for SuperPrint-specific behavior (advanced typography, custom controls, serialization).
#Méthode prototypePrototype MethodLigneDescription FRDescription EN
1fabric.Text.prototype._spDrawInvisibleMarkers879Dessine les marqueurs de caractères invisibles (espaces, tabs, retours)Draws invisible character markers (spaces, tabs, returns)
2fabric.Text.prototype._renderText917Rendu texte overridé avec support des invisiblesOverridden text render with invisibles support
3fabric.Canvas.prototype.renderTop938Rendu de la couche supérieure (curseur, sélection)Overridden top-layer render
4fabric.Object.prototype.drawControls962Dessin des contrôles personnalisés (style Figma)Custom control drawing (Figma-style handles)
5fabric.IText.prototype._renderSelection1791Rendu personnalisé de la sélection texteCustom text selection rendering
6fabric.Textbox.prototype.toObject1860Sérialisation personnalisée avec SP_CUSTOM_PROPSCustom serialization with SP_CUSTOM_PROPS
7fabric.Textbox.prototype.initDimensions2110Init des dimensions avec support styles inlineDimension init with inline style support
8fabric.Textbox.prototype._splitTextIntoLines2125Découpage en lignes overridéLine splitting override
9fabric.Textbox.prototype.enlargeSpaces2195Justification avancée des espaces (word/letter spacing, glyph scaling)Advanced space justification (word/letter spacing, glyph scaling)
10fabric.Textbox.prototype._renderTextLine2316Rendu par ligne avec tracking et justificationPer-line rendering with tracking and justification
11fabric.Textbox.prototype._wrapLine2409Enveloppement de ligne avec césure (5 langues)Line wrapping with hyphenation (5 languages)
12fabric.IText.prototype.renderCursor2702Rendu du curseur personnaliséCustom cursor rendering
13fabric.Image.prototype.toObject3293Sérialisation d'image avec propriétés SPCustom image serialization with SP props
14fabric.IText.prototype.setSelectionStyles42094Override des styles de sélectionSelection styles override
15fabric.Textbox.prototype.set42109set() patché pour ré-enveloppement intelligentPatched set() for smart rewrap
16fabric.Textbox.prototype.initialize42152initialize() patché avec défauts SPPatched initialize with SP defaults

Variables globales & Constantes Global Variables & Constants

État du document (Lignes 664–740)

Document State (Lines 664–740)

VariableTypeDéfautDefaultDescription FRDescription EN
canvasesArray[]Tableau de toutes les instances Fabric.CanvasArray of all Fabric.js canvas instances
pagesArray[]Tableau des données de pages sérialisées (JSON)Array of serialized page data (JSON)
currentPageIndexNumber0Index de la page actuellement activeIndex of the currently active page
pageFormatObject{width:210, height:297}Dimensions de la page en mmPage dimensions in mm
marginNumber20Marge de la page en mmPage margin in mm
bleedNumber3Zone de fond perdu en mmBleed area in mm
historyArray[]Pile d'historique undo/redoUndo/redo state history stack
historyStepNumber-1Position courante dans l'historiqueCurrent position in history
viewModeString'single'Mode de vue : 'single' ou 'spread'View mode: 'single' or 'spread'
textLinksObject{}Carte des connexions de chaînage texteMap of text link connections
masterPagesObject{}Gabarits de pages maîtresses {id: {name, objects}}Master page templates {id: {name, objects}}
pageMasterAssignmentsObject{}Assignations page→gabarit {pageIdx: masterId}Page-to-master assignments {pageIdx: masterId}

Constantes

Constants

ConstanteLigneValeur / DescriptionValue / Description
DEBUG_MODE678false — Active le logging consolefalse — Enables console logging
ENABLE_LINKED_TEXT681true — Active le chaînage de texte style InDesigntrue — Enables InDesign-style text chaining
PASTEBOARD_PX804Calculé — Taille du table de montage horizontal (réduit en mode planche)Computed — Horizontal pasteboard size (reduced in spread mode)
PASTEBOARD_V_PX805200 — Taille du table de montage vertical en px200 — Vertical pasteboard size in px
SP_CUSTOM_PROPS68820+ propriétés personnalisées sauvegardées avec chaque objet Fabric20+ custom properties saved with each Fabric object

Fonctionnalités Features

📄 Document

  • Formats A4, A5, Letter, personnalisé
  • A4, A5, Letter, Custom formats
  • Dimensions, marges, fond perdu personnalisés (mm)
  • Custom dimensions, margins, bleed (mm)
  • Modes page simple + planche (spread)
  • Single page + Spread view modes
  • Table de montage (pasteboard)
  • Pasteboard (work area around pages)
  • Réorganisation drag-and-drop des pages
  • Drag-and-drop page reordering

🔤 Typographie

  • 9 polices intégrées + chargement .ttf/.otf
  • 9 built-in fonts + custom .ttf/.otf loading
  • Césure en 5 langues (FR, EN, DE, ES, IT)
  • Hyphenation in 5 languages (FR, EN, DE, ES, IT)
  • Justification avancée (word/letter spacing, glyph scaling)
  • Advanced justification (word/letter spacing, glyph scaling)
  • Chaînage de texte cross-page (style InDesign)
  • Text chaining across pages (InDesign-style)
  • Exposant, indice, capitales, petites capitales, barré
  • Superscript, subscript, all caps, small caps, strikethrough

✏️ Dessin

  • Rectangle, Cercle/Ellipse, Étoile, Pinceau libre
  • Rectangle, Circle/Ellipse, Star, Freeform brush
  • Outil plume Bézier professionnel avec édition de poignées
  • Professional Bézier pen tool with curve handle editing
  • Import SVG
  • SVG import
  • Opérations booléennes (Union, Soustraction, Intersection, Exclusion)
  • Boolean operations (Unite, Subtract, Intersect, Exclude)

🖼️ Images

  • Import, drag-and-drop, collage presse-papiers
  • Import, drag-and-drop, clipboard paste
  • Masquage d'image dans forme avec ajustement position/échelle
  • Image-in-shape masking with position/scale adjustment
  • Modale de recadrage complète avec poignées et préréglages
  • Full crop modal with handles and presets
  • 9 filtres style Instagram
  • 9 Instagram-style filters

🎨 Couleur

  • Sélecteurs couleur fond/contour, transparence
  • Fill/stroke color pickers, transparency
  • Mode RGB/CMYK
  • RGB/CMYK mode toggle
  • 30+ couleurs Pantone
  • 30+ Pantone spot colors
  • Nuancier avec dégradés (linéaire/radial)
  • Swatch system with gradients
  • Épreuvage écran CMYK (couché, mat, simulation papier)
  • CMYK soft proofing (coated, matte, paper simulation)

📤 Export / Import

  • PDF multi-pages (72/150/300 DPI, fond perdu, repères, barres couleur)
  • PDF multi-page (72/150/300 DPI, bleed, trim marks, color bars)
  • PDF imposé (cahier/livret)
  • Imposed PDF (booklet imposition)
  • Import : JSON, PDF, TXT, DOCX, ODT, IDML, Scribus, SVG
  • Import: JSON, PDF, TXT, DOCX, ODT, IDML, Scribus, SVG
  • Print-to-Web (mini-site HTML en ZIP)
  • Print-to-Web (HTML mini-site in ZIP)
  • Format .sp (archive ZIP propriétaire)
  • .sp format (proprietary ZIP archive)

🤖 IA & Moderne

  • OpenAI (GPT-4o), Anthropic (Claude), DeepSeek
  • OpenAI (GPT-4o), Anthropic (Claude), DeepSeek
  • 14 prompts de template + entrée libre
  • 14 template prompts + free-form
  • PWA (offline, installable)
  • PWA (offline, installable)
  • Sauvegarde Web3/IPFS via Pinata
  • Web3/IPFS save via Pinata
  • 3 langues UI : FR, EN, JA
  • 3 UI languages: FR, EN, JA

Raccourcis clavier Keyboard Shortcuts

Texte

Text

RaccourciShortcutActionAction
Ctrl+BGrasBold
Ctrl+IItaliqueItalic
Ctrl+USoulignéUnderline
Ctrl+Shift+HSurlignerHighlight
Ctrl+ATout sélectionnerSelect all

Édition

Editing

RaccourciShortcutActionAction
Ctrl+C / X / VCopier / Couper / CollerCopy / Cut / Paste
Ctrl+ZAnnulerUndo
Ctrl+Y / Ctrl+Shift+ZRétablirRedo
Suppr / Retour arrièreSupprimer l'objetDelete object
Alt+GlisserDupliquer l'objetDuplicate object

Objets

Objects

RaccourciShortcutActionAction
Ctrl+Shift+GGrouperGroup
Ctrl+Shift+UDégrouperUngroup
Ctrl+]Avancer d'un planBring forward
Ctrl+[Reculer d'un planSend backward
FlèchesDéplacer de 1pxMove 1px
Shift+FlèchesDéplacer de 10pxMove 10px

Outils rapides

Quick Tools

RaccourciShortcutActionAction
TOutil TexteText Tool
IOutil ImageImage Tool
RRectangleRectangle
CCercleCircle
POutil PlumePen Tool

Fichiers & Navigation

Files & Navigation

RaccourciShortcutActionAction
Ctrl+SSauvegarder (JSON ou Web3)Save (JSON or Web3)
Ctrl+OOuvrir un projetOpen project
Ctrl+EExporter PDFExport PDF
Ctrl+NNouvelle pageNew page
Ctrl+ / Page précédente / suivantePrevious / Next page
Ctrl+LLier les blocs texteLink text blocks
Ctrl+Shift+LDélier les blocs texteUnlink text blocks

Zoom

RaccourciShortcutActionAction
Ctrl+=Zoom avantZoom in
Ctrl+-Zoom arrièreZoom out
Ctrl+0Réinitialiser à 100%Reset to 100%
Ctrl+MoletteZoom libreFree zoom

Formats de fichiers File Formats

Import (10 formats)

Import (10 formats)

FormatBibliothèqueLibraryDescription FRDescription EN
JSONNativeRestauration complète du projetFull project restore
PDFPDF.jsPage par page avec aperçu, sélection, recadragePage-by-page with preview, selection, crop
TXT / RTFNativeTexte brut avec auto-paginationPlain text with auto-pagination
DOCXMammoth.jsDocuments Word (texte + images inline)Word docs (text + inline images)
ODTJSZip + XMLOpenDocument (texte, listes, tableaux, images)OpenDocument (text, lists, tables, images)
IDMLJSZip + XMLInDesign — ZIP avec polices + liensInDesign — ZIP with fonts + links
Scribus (.sla)XML parserTexte + formes basiques (BETA)Basic text + shapes (BETA)
SVGFabric.jsGraphiques vectorielsVector graphics
ImagesFabric.jsPNG, JPG, WebP (fichier ou presse-papiers)PNG, JPG, WebP (file or clipboard)
.spJSZipArchive projet SuperPrint (JSON+assets en ZIP)SuperPrint project archive (JSON+assets in ZIP)

Export (4 formats)

Export (4 formats)

FormatBibliothèqueLibraryDescription FRDescription EN
PDFjsPDFMulti-pages, 72/150/300 DPI, fond perdu, repères d'impressionMulti-page, 72/150/300 DPI, bleed, trim marks
PDF imposéjsPDFImposition cahier pour impressionBooklet imposition for print
Print-to-WebJSZipMini-site HTML en ZIP (D4Export)HTML mini-site in ZIP (D4Export)
.spJSZipArchive projet SuperPrintSuperPrint project archive

Bibliothèques Libraries

BibliothèqueLibraryVersionFichierFileRôleRole
Fabric.js5.3.0JS/fabric.min.jsMoteur de rendu canvas — objets, texte, images, événements, sélectionCanvas rendering engine — objects, text, images, events, selection
jsPDF2.xJS/jspdf.umd.min.jsGénération PDF multi-pages côté clientClient-side multi-page PDF generation
JSZip3.xJS/jszip.min.jsLecture/écriture ZIP pour IDML, ODT, .spZIP read/write for IDML, ODT, .sp
PDF.js3.xJS/pdf.min.jsRendu PDF pour import page par pagePDF rendering for page-by-page import
Paper.js0.12JS/paper-full.min.jsOpérations booléennes de tracés vectoriels (Pathfinder)Boolean path operations (Pathfinder)
Mammoth.js1.xJS/mammoth.min.jsConversion DOCX → HTML structuréDOCX to structured HTML conversion
Hypher0.2JS/hypher.js + hyphenation-*.jsMoteur de césure extensible (FR, EN, DE, ES, IT)Extensible hyphenation engine (FR, EN, DE, ES, IT)


SuperPrint — simon@2points13.com
Documentation générée le 14 février 2026 — v0.0.3 (alpha) Documentation generated February 14, 2026 — v0.0.3 (alpha)

Manuel d'utilisation User Manual Guide complet pour créer vos documents avec SuperPrint Complete guide to creating documents with SuperPrint

SuperPrint est un éditeur de mise en page professionnel 100% navigateur. Aucune installation requise. Créez des flyers, affiches, brochures et documents multi-pages, puis exportez en PDF haute résolution prêt pour l'impression.
SuperPrint is a professional layout editor that runs entirely in your browser. No installation needed. Create flyers, posters, brochures and multi-page documents, then export as high-resolution print-ready PDFs.

Créer un nouveau projet

Create a New Project

Cliquez sur le bouton + dans la barre d'outils supérieure (toolbar) pour ouvrir la fenêtre « Nouveau projet ». Choisissez :

Click the + button in the top toolbar to open the "New Project" dialog. Choose:

Raccourci : les boutons A4, A5, Letter dans la barre latérale gauche changent directement le format.
Tip: The A4, A5, Letter buttons in the left sidebar change the format directly.

Interface Interface

L'écran de SuperPrint est divisé en 4 zones principales :

The SuperPrint screen is divided into 4 main areas:

① Barre latérale gauche

① Left Sidebar

Outils (texte, images, formes, plume, chaînage), mode d'affichage (simple / double page), format de page, marges, et panneau des calques.

Tools (text, images, shapes, pen, chaining), display mode (single / spread), page format, margins, and layers panel.

② Barre d'outils supérieure

② Top Toolbar

Navigation pages (◀ ▶), ajout/suppression de page, grouper/dégrouper, annuler/rétablir, boutons Save, Import, Export et IA.

Page navigation (◀ ▶), add/delete page, group/ungroup, undo/redo, Save, Import, Export and AI buttons.

③ Zone de travail (Canvas)

③ Work Area (Canvas)

La zone centrale avec les pages du document. Faites défiler pour naviguer entre les pages. Le fond gris est le « pasteboard » (zone de dépassement).

The center area with your document pages. Scroll to navigate between pages. The grey background is the "pasteboard" (overflow area).

④ Barre latérale droite

④ Right Sidebar

Propriétés de l'objet sélectionné : position, taille, rotation, couleurs, opacité, typographie.

Properties of the selected object: position, size, rotation, colors, opacity, typography.

Réduire / Agrandir la sidebar

Collapse / Expand the Sidebar

Cliquez sur le logo SUPER PRINT en haut de la barre latérale pour la réduire en mode icônes. Cliquez sur la flèche pour l'agrandir.

Click the SUPER PRINT logo at the top of the sidebar to collapse it to icon mode. Click the arrow to expand it.

Pages Pages

Ajouter une page

Add a Page

Cliquez sur Page + dans la toolbar, ou utilisez le raccourci clavier. La nouvelle page est ajoutée après la page courante.

Click Page + in the toolbar, or use the keyboard shortcut. The new page is added after the current page.

Supprimer une page

Delete a Page

Cliquez sur le bouton à côté de « Page + ». La page courante est supprimée (minimum 1 page conservée).

Click the button next to "Page +". The current page is deleted (minimum 1 page always kept).

Naviguer entre les pages

Navigate Between Pages

Utilisez les boutons ◀ ▶ dans la toolbar, ou faites simplement défiler verticalement dans la zone de travail pour passer d'une page à l'autre. L'indicateur P 1/5 affiche votre position.

Use the ◀ ▶ buttons in the toolbar, or simply scroll vertically in the work area to move between pages. The P 1/5 indicator shows your position.

Changer le format

Change Page Format

Dans la barre latérale gauche, section Format : cliquez sur A4, A5, Letter ou Perso. Pour des dimensions personnalisées, modifiez L (largeur) et H (hauteur) en mm.

In the left sidebar, Format section: click A4, A5, Letter or Custom. For custom dimensions, edit W (width) and H (height) in mm.

Texte & Typographie Text & Typography

Ajouter un bloc de texte

Add a Text Block

Cliquez sur l'outil Texte (icône T) dans la sidebar, puis cliquez-glissez sur le canvas pour dessiner un cadre. Double-cliquez sur le cadre pour entrer en mode édition.

Click the Text tool (T icon) in the sidebar, then click-drag on the canvas to draw a frame. Double-click the frame to enter editing mode.

Mise en forme du texte

Formatting Text

Sélectionnez un bloc texte puis utilisez les contrôles dans la barre latérale droite :

Select a text block then use the controls in the right sidebar:

La césure automatique est disponible en 5 langues (FR, EN, DE, ES, IT). Elle s'active dans les paramètres.
Automatic hyphenation is available in 5 languages (FR, EN, DE, ES, IT). Enable it in settings.

Chaînage de texte Text Chaining

Principe

Concept

Le chaînage de texte (comme dans InDesign) permet de relier plusieurs blocs de texte : quand le texte déborde d'un bloc, il continue automatiquement dans le bloc suivant. Cela fonctionne aussi entre différentes pages.

Text chaining (as in InDesign) links multiple text blocks: when text overflows one block, it automatically continues in the next. This works across different pages too.

Chaîner des blocs

Chain Blocks

Sélectionnez deux ou plusieurs blocs texte, puis cliquez sur l'outil Chaîner (icône chaîne) ou utilisez Ctrl+L. Les blocs sont liés dans l'ordre de sélection. Une flèche bleue relie visuellement les blocs chaînés.

Select two or more text blocks, then click the Chain tool (link icon) or use Ctrl+L. Blocks are linked in selection order. A blue arrow visually connects chained blocks.

Déchaîner

Unchain

Sélectionnez un bloc chaîné et cliquez sur Déchaîner ou utilisez Ctrl+Shift+L.

Select a chained block and click Unchain or use Ctrl+Shift+L.

Images Images

Importer une image

Import an Image

Cliquez sur l'outil Image dans la sidebar (sous-menu import), puis sélectionnez un fichier. Formats supportés : JPG, PNG, WebP, GIF. Vous pouvez aussi glisser-déposer une image directement sur le canvas, ou coller depuis le presse-papiers (Ctrl+V).

Click the Image tool in the sidebar (import sub-menu), then select a file. Supported formats: JPG, PNG, WebP, GIF. You can also drag-and-drop an image directly onto the canvas, or paste from clipboard (Ctrl+V).

Redimensionner & positionner

Resize & Position

Sélectionnez l'image, puis utilisez les poignées pour redimensionner. Maintenez Shift pour conserver les proportions. Utilisez les champs X, Y, W, H dans la barre latérale droite pour un positionnement précis.

Select the image, then use the handles to resize. Hold Shift to maintain proportions. Use the X, Y, W, H fields in the right sidebar for precise positioning.

SVG vectoriel

Vector SVG

Importez des fichiers SVG via l'outil SVG dans le sous-menu import. Les SVG sont importés comme objets vectoriels éditables (couleur, contour, déformation).

Import SVG files through the SVG tool in the import sub-menu. SVGs are imported as editable vector objects (color, stroke, deformation).

Formes & Dessin Shapes & Drawing

Ajouter des formes

Add Shapes

Ouvrez le sous-menu Formes dans la sidebar. Options disponibles :

Open the Shapes sub-menu in the sidebar. Available options:

Chaque forme peut être colorée (remplissage + contour), redimensionnée et tournée.

Each shape can be colored (fill + stroke), resized and rotated.

Outil Plume (Bézier) Pen Tool (Bézier)

Créer des tracés vectoriels

Create Vector Paths

Cliquez sur l'outil Plume (icône stylo) dans la sidebar. Cliquez pour poser des points d'ancrage. Cliquez-glissez pour créer des courbes de Bézier. Fermez le tracé en cliquant sur le premier point.

Click the Pen tool (pen icon) in the sidebar. Click to place anchor points. Click-drag to create Bézier curves. Close the path by clicking the first point.

Paper.js permet les opérations booléennes (union, soustraction, intersection) entre les tracés — comme le Pathfinder d'Illustrator.
Paper.js enables boolean operations (union, subtraction, intersection) between paths — like Illustrator's Pathfinder.

Calques Layers

Panneau des calques

Layers Panel

Le panneau calques (section « Calques » dans la sidebar) liste tous les objets de la page courante. Chaque objet est un calque qui peut être :

The layers panel ("Layers" section in the sidebar) lists all objects on the current page. Each object is a layer that can be:

« Clear All » supprime tous les objets de la page (sauf la structure).
"Clear All" removes all objects from the page (except structure).

Grilles & Repères Grids & Guides

Grille de colonnes

Column Grid

Ouvrez le sous-menu Règles & GrillesGrille. Configurez :

Open the Rulers & Grids sub-menu → Grid. Configure:

Activez le magnétisme pour accrocher les objets à la grille.

Enable snapping to snap objects to the grid.

Repères manuels

Manual Guides

Dans la section « Repères manuels » de la sidebar, ajoutez des repères verticaux ou horizontaux. Glissez-les pour les repositionner. Activez le magnétisme des repères pour un alignement précis.

In the "Manual Guides" section of the sidebar, add vertical or horizontal guides. Drag them to reposition. Enable guide snapping for precise alignment.

Pages maîtresses Master Pages

Principe

Concept

Les pages maîtresses sont des modèles réutilisables. Les objets placés sur une page maîtresse (en-têtes, pieds de page, arrière-plans) apparaissent automatiquement sur toutes les pages qui l'utilisent.

Master pages are reusable templates. Objects placed on a master page (headers, footers, backgrounds) automatically appear on all pages that use it.

Créer & Appliquer

Create & Apply

Utilisez le panneau « Chemin de fer » (page thumbnails) pour gérer les pages maîtresses. Cliquez droit sur une page pour assigner une page maîtresse.

Use the "Page Thumbnails" panel to manage master pages. Right-click on a page to assign a master page.

Mode planche (Spread) Spread Mode

Activer le mode planche

Enable Spread Mode

Dans la sidebar, section « Mode d'affichage », cliquez sur Double page. Les pages sont affichées côte à côte comme un livre ouvert. La première page (couverture) reste en page simple.

In the sidebar, "Display Mode" section, click Spread. Pages are displayed side by side like an open book. The first page (cover) stays as a single page.

Le mode planche est idéal pour les brochures et magazines.
Spread mode is ideal for brochures and magazines.

Sauvegarder Save

Sauvegarde automatique

Auto-Save

SuperPrint sauvegarde automatiquement votre travail dans IndexedDB (stockage local du navigateur). Votre projet est restauré automatiquement lorsque vous rouvrez l'application.

SuperPrint automatically saves your work in IndexedDB (browser local storage). Your project is automatically restored when you reopen the app.

Sauvegarde manuelle (.sp)

Manual Save (.sp)

Cliquez sur SAVE dans la toolbar pour créer un fichier .sp — une archive ZIP contenant le JSON du projet et tous les assets (images). Ce fichier peut être rechargé plus tard via Import.

Click SAVE in the toolbar to create an .sp file — a ZIP archive containing the project JSON and all assets (images). This file can be reloaded later via Import.

Historique de sauvegardes

Save History

SuperPrint conserve jusqu'à 20 snapshots de votre projet. Accessible depuis le panneau Historique pour revenir à une version antérieure.

SuperPrint keeps up to 20 snapshots of your project. Access the History panel to roll back to a previous version.

Importer Import

Formats supportés

Supported Formats

Cliquez sur IMPORT dans la toolbar. Formats acceptés :

Click IMPORT in the toolbar. Accepted formats:

FormatDescriptionDescription
PDFImport page par page (rastérisé via PDF.js)Page-by-page import (rasterized via PDF.js)
DOCXConversion du contenu texte via Mammoth.jsText content conversion via Mammoth.js
IDMLFormat InDesign (texte + structure)InDesign format (text + structure)
ODTFormat LibreOffice WriterLibreOffice Writer format
Scribus (.sla)Texte + formes basiques (BETA)Basic text + shapes (BETA)
SVGGraphiques vectorielsVector graphics
ImagesPNG, JPG, WebP (fichier ou presse-papiers)PNG, JPG, WebP (file or clipboard)
.spProjet SuperPrint (archive ZIP)SuperPrint project (ZIP archive)
TXT / RTFTexte brut ou enrichiPlain or rich text
JSONDonnées Fabric.js brutesRaw Fabric.js data

Exporter / PDF Export / PDF

Export PDF

PDF Export

Cliquez sur Export dans la toolbar. Options :

Click Export in the toolbar. Options:

Autres exports

Other Exports

Simulation CMYK CMYK Simulation

Soft Proofing

Soft Proofing

Outil Simulation CMYK dans la sidebar (icône cercles CMYK). Prévisualisez comment votre document apparaîtra à l'impression :

Use the CMYK Simulation tool in the sidebar (CMYK circles icon). Preview how your document will look when printed:

Vous pouvez aussi simuler différents types de papier : blanc pur, ivoire, recyclé, journal.

You can also simulate different paper types: pure white, ivory, recycled, newsprint.

Annuler / Rétablir Undo / Redo

Historique des actions

Action History

Utilisez Ctrl+Z pour annuler et Ctrl+Y (ou Ctrl+Shift+Z) pour rétablir. Les boutons ↶ et ↷ dans la toolbar ont la même fonction.

Use Ctrl+Z to undo and Ctrl+Y (or Ctrl+Shift+Z) to redo. The ↶ and ↷ buttons in the toolbar have the same function.

L'historique est persisté dans IndexedDB : même après rechargement de la page, votre pile d'annulations est conservée.

The history is persisted in IndexedDB: even after reloading the page, your undo stack is preserved.

Zoom

Contrôles de zoom

Zoom Controls

Le rendu est optimisé pour rester net à tous les niveaux de zoom grâce à l'ajustement dynamique du DPR (Device Pixel Ratio).
Rendering is optimized to stay sharp at all zoom levels thanks to dynamic DPR (Device Pixel Ratio) adjustment.

Raccourcis clavier Keyboard Shortcuts

ActionActionRaccourciShortcut
AnnulerUndoCtrl+Z
RétablirRedoCtrl+Y
CopierCopyCtrl+C
CollerPasteCtrl+V
CouperCutCtrl+X
Tout sélectionnerSelect allCtrl+A
DupliquerDuplicateCtrl+D
SupprimerDeleteSuppr / Backspace
GrouperGroupCtrl+G
DégrouperUngroupCtrl+Shift+G
Chaîner texteChain textCtrl+L
Déchaîner texteUnchain textCtrl+Shift+L
SauvegarderSaveCtrl+S
Zoom +Zoom inCtrl++
Zoom −Zoom outCtrl+
Zoom 100%Zoom 100%Ctrl+1
Ajuster à la fenêtreFit to windowCtrl+0
GrasBoldCtrl+B
ItaliqueItalicCtrl+I
SoulignéUnderlineCtrl+U

Assistant IA AI Assistant

Utiliser l'IA

Using AI

Cliquez sur le bouton IA dans la toolbar pour ouvrir l'assistant IA. Il peut vous aider à générer du contenu texte, suggérer des mises en page, et plus encore. Les requêtes passent par le proxy serveur (ai-proxy.php) pour sécuriser les clés API.

Click the AI button in the toolbar to open the AI assistant. It can help generate text content, suggest layouts, and more. Requests go through the server proxy (ai-proxy.php) to secure API keys.

Paramètres Settings

Accéder aux paramètres

Access Settings

Cliquez sur l'icône en haut de la barre latérale. Options disponibles :

Click the icon at the top of the sidebar. Available options:



SuperPrint — simon@2points13.com
Manuel généré le 14 février 2026 — v0.0.3 (alpha) Manual generated February 14, 2026 — v0.0.3 (alpha)