2017-07-17 3 views
0

Je rencontre un problème sur la façon d'obtenir la largeur et la hauteur du fichier pdf . L'extrait de code est le suivant:Comment obtenir la largeur de la page et la hauteur via pdfContentByte

class Program 
{ 
    static void Main(string[] args) 
    { 
      Stream inputPdfStream = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read); 
      Stream outputPdfStream = new FileStream(fileOutPath, FileMode.Create, FileAccess.Write, FileShare.None); 
      Stream inputImageStream = new FileStream("some_image.jpg", FileMode.Open, FileAccess.Read, FileShare.Read) 
      PdfReader reader = new PdfReader(inputPdfStream); 
      var stamper = new PdfStamper(reader, outputPdfStream); 
      var pdfContentByte = stamper.GetOverContent(1); //stamper.GetOverContent(pageNum) 
      Image image = Image.GetInstance(inputImageStream); 
      image.SetAbsolutePosition(100, 100); 
      pdfContentByte.AddImage(image); 
      stamper.Close(); 
    } 
} 

je tente de créer un filigrane sur le pdf que je veux, mais ce que je dois est comment obtenir la bonne largeur et la hauteur du pdf original me faire pourrait mettre l'image dans la bonne position. Est-ce possible de faire cela via pdfContentByte, ou il y a un autre moyen de le faire. Merci beaucoup.

Répondre

2

Est-ce possible de faire que via pdfContentByte

N ° A PdfContenByte exemple représente une très grande toile, seule une section est éventuellement affichée comme page (ou forme XObject ou annotation ou ...).

Vous pouvez récupérer l'emplacement et la taille de cette section à l'aide de la méthode PdfReaderGetCropBox en fournissant le numéro de page en question en tant qu'argument.