2009-09-15 6 views
2

J'essaye de copier un PDF en utilisant ABCpdf'sAddImageDoc. Ne ressemble à aucune propriété de document (comme "/ Rotate") copié. Il semble que je doive copier ces propriétés manuellement de l'ancien document à new en utilisant la méthode SetInfo. Comme si:Propriétés de document de copie ABCpdf

foreach page...{ 
    newPdfDoc.Page = newPdfDoc.AddPage(); 
    newPdfDoc.AddImageDoc(existingPdfDoc, i, null); 
    newPdfDoc.SetInfo(newPdfDoc.Page, "/Rotate", existingPdfDoc.GetInfo(existingPdfDoc.Page, "/Rotate")) 
} 

Il ya beaucoup de ces propriétés et je ne veux pas les définir manuellement. Existe-t-il un moyen de copier toutes les propriétés en même temps?

Répondre

1

ABCpdf ne dispose pas d'un itérateur pour les propriétés PDF

Donc, à moins que vous connaissez tous les noms de propriété que vous souhaitez transférer, vous devrez utiliser un autre outil pour obtenir les noms de propriété. Vous pouvez utiliser la bibliothèque PDFsharp pour lire tous les éléments PDF de bas niveau.

4

Pensez à Doc.AddImageDoc comme une fonction permettant de placer une page d'un autre document sous forme d'image. Le jeu de fonctions Doc.AddImage redimensionne les images importées en fonction de la propriété Rect actuelle du document.

Pour combiner des documents PDF, utilisez la méthode Doc.Append. Pour copier ou supprimer des pages d'un document, utilisez la méthode Doc.RemapPages.

+0

Parfait! Je ne savais pas à propos de RemapPages –