Redimensionner un document PDF

Vous pouvez changer la taille du document en redimensionnant automatiquement le contenu de ses pages. Vous pouvez redimensionner l’ensemble du document ou des pages spécifiques. Il existe trois méthodes disponibles :

  • bool PdfFileEditor.ResizeContents(string source, string destination, int[] pages, ContentsResizeParameters parameters)
  • void PdfFileEditor.ResizeContents(Document source, int[] pages, ContentsResizeParameters parameters)
  • void PdfFileEditor.ResizeContents(Document source, ContentsResizeParameters parameters)

Description de la classe Options

Les paramètres de redimensionnement sont définis par la classe d’options — PdfFileEditor.ContentsResizeParameters.

Objectif

  • Configurer les marges autour du contenu, les dimensions cibles du contenu et les dimensions de la page.
  • Support pour les unités absolues et les pourcentages.
  • Ajuster éventuellement le MediaBox pour correspondre au CropBox lors du redimensionnement.

Entités principales

ContentsResizeParameters

Un conteneur de paramètres.

  • Propriétés :

    • ChangeMediaBox : lorsqu’il est activé, le MediaBox est ajusté au CropBox actuel lors du redimensionnement.
    • LeftMargin, RightMargin, TopMargin, BottomMargin : marges autour du contenu (absolues ou en pourcentage).
    • ContentsWidth, ContentsHeight : taille de la zone de contenu cible (absolue ou en pourcentage).
  • Méthodes de configuration statiques (créer un nouvel objet ContentsResizeParameters) :

    • Margins(left, right, top, bottom) : marges en unités de page absolues.
    • MarginsPercent(left, right, top, bottom) : marges en pourcentages.
    • ContentSize(width, height) : taille du contenu cible en unités absolues.
    • ContentSizePercent(width, height) : taille du contenu cible en pourcentages.
    • PageResize(width, height) : changer la taille de la page en unités absolues.
    • PageResizePct(widthPct, heightPct) : changer la taille de la page en pourcentages.

Vous pouvez créer un objet ContentsResizeParameters en utilisant l’une des méthodes statiques ci-dessus et ensuite ajuster ses champs.

ContentsResizeValue

Un conteneur universel pour un paramètre numérique.

  • Types de valeur :

    • Absolu (Units)
    • Pourcentage (Percents)
    • Automatique (Auto)
  • Champs/flags clés :

    • Value : la valeur numérique.
    • IsPercent : indique l’interprétation en pourcentage ; si false — valeur absolue.
  • Méthodes de fabrique :

    • Units(value) : créer une valeur absolue.
    • Percents(value) : créer une valeur en pourcentage.
    • Auto() : marquer la valeur pour un calcul automatique.

Recommandations d’utilisation

  • Lorsque les marges autour du contenu sont importantes — utilisez Margins ou MarginsPercent.
  • Lorsque vous avez besoin que le contenu corresponde à des dimensions spécifiques — utilisez ContentSize ou ContentSizePercent.
  • Lorsque vous devez changer la taille de la page elle-même — utilisez PageResize ou PageResizePct.
  • Vous pouvez combiner des valeurs absolues et des valeurs en pourcentage.
  • Activez ChangeMediaBox si vous devez aligner la géométrie de la page : le MediaBox sera défini sur le CropBox actuel.
  • Marquez les paramètres comme Auto lorsque vous souhaitez déléguer le calcul à l’algorithme.

Exemples

Exemple de redimensionnement d’une page

Augmenter les marges de page de 10 % sur tous les côtés :

Définir la taille du contenu à 500 x 700 en unités de page et laisser les marges en automatique :

Redimensionner la page de 120 % de largeur et 110 % de hauteur :

Remarques

  • Les pourcentages sont interprétés par rapport à la taille originale correspondante.
  • Les valeurs absolues sont spécifiées en unités de page (par exemple, points).
  • Lorsque les marges et la taille cible du contenu sont définies ensemble, les valeurs finales sont calculées en tenant compte de toutes les contraintes ; les paramètres non spécifiés peuvent être calculés automatiquement.