2009-10-09 7 views
1

J'ai été chargé de travailler sur une fonctionnalité pour les certificats que ma société imprime pour les clients lorsqu'ils suivent un cours de formation spécifique. Actuellement, nous leur fournissons un fichier PDF de base qui ressemble à la récompense moyenne de Joe, mais beaucoup de nos clients veulent pouvoir ajouter et repositionner du contenu sur le PDF réel, puis les imprimer. J'ai commencé à utiliser une solution de code C# .NET open source appelée PDFSharp et j'ai découvert qu'il y avait beaucoup de fonctionnalités intéressantes mais je ne suis pas sûr de la façon dont je ferais les éléments nouvellement placés (disons qu'un utilisateur a importé son propre ruban de certificat) . Y at-il des fonctionnalités C# que je devrais jeter un oeil ou tout logiciel tiers qui fera tout cela pour moi?Déplacement d'éléments sur un document PDF

Je suis ouvert à l'une ou l'autre route.

Merci d'avance!

Répondre

2

J'utilise Itext

Le code est en Boo, ouvre « TEMPLATE.PDF » et dessiner un rectangle et écrire « Bonjour tout le monde », puis créer un nouveau fichier pdf et l'ouvrir

import iTextSharp.text 
import iTextSharp.text.pdf 
import iTextSharp.text.Color 
import System.IO 
import iTextSharp.text 
import System.Diagnostics 

# we create a reader for a certain document 
reader = PdfReader("template.pdf") 

# we retrieve the size of the first page 
psize = reader.GetPageSize(1); 

# step 1: creation of a document-object 
Document.Compress = true 
documentGlobal = Document(psize, 50, 50, 50, 50) 
# step 2: we create a writer that listens to the document 

thePdfFile = MemoryStream() 
writer = PdfWriter.GetInstance(documentGlobal, thePdfFile) 

documentGlobal.Open() 
cbLocal = writer.DirectContent 

page1 = writer.GetImportedPage(reader, 1) 
cbLocal.AddTemplate(page1, 1f, 0, 0, 1f, 0, 0) 

#Drawing a rectangle 
rec = Rectangle(100, 100, 150, 150) 
rec.BackgroundColor = iTextSharp.text.Color(0,0,0) 
cbLocal.Rectangle(rec); 

#Writing some text 
#There are many ways to write text, check the examples 
bf = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.EMBEDDED) 
font = Font(bf, 10, 0) 
font.SetColor(0, 0, 0) 
ColumnText.ShowTextAligned(cbLocal, 0, Phrase("Hello World", font), 50, 50, 0) 

documentGlobal.Close() 

tempFile = Path.GetTempFileName(); 
ms = MemoryStream(thePdfFile.ToArray()); 
stream = FileStream(tempFile + ".pdf", FileMode.Create); 
ms.WriteTo(stream); 
ms.Close(); 
stream.Close(); 
Process.Start(tempFile + ".pdf"); 

Modifier

Oop, Il semble que je ne comprenais pas la question ....

+0

Bonne réponse si = P – ajdams

0

PDFSharp peut-il créer des annotations sur le PDF? Je pense qu'ils seraient alors mobiles dans Acrobat.

+0

fait, je viens discothèque vered PDF Editor Objets 2.6. Ce logiciel fait ce que je cherchais de la manière la plus simple. – ajdams

Questions connexes