begin process at 2012 02 15 18:18:40
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Divers

 > 

General

 > 

Comment afficher plusieurs pages dans CR 2008


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Comment afficher plusieurs pages dans CR 2008

lundi 4 août 2008 à 16:09:48 | Comment afficher plusieurs pages dans CR 2008

Mia

Bonjour

Dans une de mes applications vb 2005, je génère 2 rapports CR 2008 dont les contenus sont différents qui sont ensuite exportés vers 2 fichiers pdf.
On m'a demandé que ces 2 rapports soient exportés vers 1 SEUL fichier pdf.
Comment puis-je faire cela?
Est-il possible de crée un rapport avec 2 pages de contenus différents ou est-il possible de fusionner deux rapports vers un seul rapport ou bien, est il possible de créer un pdf à partir de 2 pdf par programmation?

Avez-vous une idées??? c'est assez urgent.

Merci

Mia
lundi 4 août 2008 à 17:21:19 | Re : Comment afficher plusieurs pages dans CR 2008

gillardg

la concatenation de fichiers pdf est possible

requiert ItextSharp.dll

Imports

Microsoft.VisualBasic

Imports

System

Imports

System.Collections.Generic

Imports

System.IO

Imports

iTextSharp.text

Imports

iTextSharp.text.pdf

Namespace

SmartSoft.PdfLibrary

PublicNotInheritableClass PdfMerger

''' <summary>

''' Merge pdf files.

''' </summary>

''' <param name="sourceFiles">PDF files being merged.</param>

''' <returns></returns>

PrivateSubNew()

EndSub

PublicSharedFunction MergeFiles(ByVal sourceFiles As List(OfByte())) AsByte()

Dim document AsNew Document()

Dim output AsNew MemoryStream()

Try

Try

' Initialize pdf writer

Dim writer As PdfWriter = PdfWriter.GetInstance(document, output)

writer.PageEvent =

New PdfPageEvents()

' Open document to write

document.Open()

Dim content As PdfContentByte = writer.DirectContent

' Iterate through all pdf documents

For fileCounter AsInteger = 0 To sourceFiles.Count - 1

' Create pdf reader

Dim reader AsNew PdfReader(sourceFiles(fileCounter))

Dim numberOfPages AsInteger = reader.NumberOfPages

' Iterate through all pages

For currentPageIndex AsInteger = 1 To numberOfPages

' Determine page size for the current page

document.SetPageSize(reader.GetPageSizeWithRotation(currentPageIndex))

' Create page

document.NewPage()

Dim importedPage As PdfImportedPage = writer.GetImportedPage(reader, currentPageIndex)

' Determine page orientation

Dim pageOrientation AsInteger = reader.GetPageRotation(currentPageIndex)

If (pageOrientation = 90) OrElse (pageOrientation = 270) Then

content.AddTemplate(importedPage, 0, -1f, 1f, 0, 0, reader.GetPageSizeWithRotation(currentPageIndex).Height)

Else

content.AddTemplate(importedPage, 1f, 0, 0, 1f, 0, 0)

EndIf

Next currentPageIndex

Next fileCounter

Catch exception As Exception

ThrowNew Exception("There has an unexpected exception occured during the pdf merging process.", exception)

EndTry

Finally

document.Close()

EndTry

Return output.GetBuffer()

EndFunction

EndClass

''' <summary>

''' Implements custom page events.

''' </summary>

FriendClass PdfPageEvents

Implements IPdfPageEvent

#

Region"members"

Private _baseFont As BaseFont = Nothing

Private _content As PdfContentByte

#

EndRegion

#

Region"IPdfPageEvent Members"

PublicSub OnOpenDocument(ByVal writer As PdfWriter, ByVal document As Document) Implements IPdfPageEvent.OnOpenDocument

_baseFont = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED)

_content = writer.DirectContent

EndSub

PublicSub OnStartPage(ByVal writer As PdfWriter, ByVal document As Document) Implements IPdfPageEvent.OnStartPage

EndSub

PublicSub OnEndPage(ByVal writer As PdfWriter, ByVal document As Document) Implements IPdfPageEvent.OnEndPage

' Write header text

Dim headerText AsString = "PDF Merger by Smart-Soft"

_content.BeginText()

_content.SetFontAndSize(_baseFont, 8)

_content.SetTextMatrix(GetCenterTextPosition(headerText, writer), writer.PageSize.Height - 10)

_content.ShowText(headerText)

_content.EndText()

' Write footer text (page numbers)

Dim text AsString = "Page " & writer.PageNumber

_content.BeginText()

_content.SetFontAndSize(_baseFont, 8)

_content.SetTextMatrix(GetCenterTextPosition(text, writer), 10)

_content.ShowText(text)

_content.EndText()

EndSub

PublicSub OnCloseDocument(ByVal writer As PdfWriter, ByVal document As Document) Implements IPdfPageEvent.OnCloseDocument

EndSub

PublicSub OnParagraph(ByVal writer As PdfWriter, ByVal document As Document, ByVal paragraphPosition AsSingle) Implements IPdfPageEvent.OnParagraph

EndSub

PublicSub OnParagraphEnd(ByVal writer As PdfWriter, ByVal document As Document, ByVal paragraphPosition AsSingle) Implements IPdfPageEvent.OnParagraphEnd

EndSub

PublicSub OnChapter(ByVal writer As PdfWriter, ByVal document As Document, ByVal paragraphPosition AsSingle, ByVal title As Paragraph) Implements IPdfPageEvent.OnChapter

EndSub

PublicSub OnChapterEnd(ByVal writer As PdfWriter, ByVal document As Document, ByVal paragraphPosition AsSingle) Implements IPdfPageEvent.OnChapterEnd

EndSub

PublicSub OnSection(ByVal writer As PdfWriter, ByVal document As Document, ByVal paragraphPosition AsSingle, ByVal depth AsInteger, ByVal title As Paragraph) Implements IPdfPageEvent.OnSection

EndSub

PublicSub OnSectionEnd(ByVal writer As PdfWriter, ByVal document As Document, ByVal paragraphPosition AsSingle) Implements IPdfPageEvent.OnSectionEnd

EndSub

PublicSub OnGenericTag(ByVal writer As PdfWriter, ByVal document As Document, ByVal rect As Rectangle, ByVal text AsString) Implements IPdfPageEvent.OnGenericTag

EndSub

#

EndRegion

PrivateFunction GetCenterTextPosition(ByVal text AsString, ByVal writer As PdfWriter) AsSingle

Return writer.PageSize.Width / 2 - _baseFont.GetWidthPoint(text, 8) / 2

EndFunction

EndClass

End

Namespace
usage


bonjour chez vous!
< body>


Cette discussion est classée dans : possible, pages, pdf, rapports, cr


Répondre à ce message

Sujets en rapport avec ce message

Selectionner la/les pages X et les supprimer sous word, possible ? [ par newage_s ] Bonjour à tous,J'aimerais savoir s'il est possible de selectionner ex: la page 5 et 6 sous word et de les supprimer grace à un bouton sur lequel on c Ecrire dans un pdf [ par djdiabolik ] Bonjour à tous! voilà je vais commencer un projet d'application, et je souhaiterais savoir s'il est possible avec vb .net d'aller écrire dans un pdf Ecrire dans un pdf existant [ par djdiabolik ] Bonjour. J'aimerais écrire dans un document pdf qui est un modèle CERFA (un peu comme un document légal que vous pouvez télécharger et imprimer sur le connaitre le nombre de pages d'un fichier pdf? [ par gnieark ] en vb6, je cherche comment connaitre le nombre de pages d'un fichier .pdfj'ai essayé en utilisant le composant acropdf, en ouvrant un fichier, je n'ai utilisation d'un fichier pdf [ par jytest ] Au secours !!!N'y a-t-il pas une méthode simple.Tout ce que je veux c'est afficher le document pdf (composé de plusieurs pages au format A4) dans une Ouverture d'un PDF, recherhce de termes, sauvegede des pages trouvé puis lancement d'impression de page à page [ par david33d ] Y a t'il un moyen de préférence en vba : - d'ouvrir d'un PDF (j'ai 2 solutions en vba et php) - de recherches de termes dans ce pdf - de sauvegarder l ASSIGNER [ par manolis ] BONJOUR EN FAIT VOILA JE SAIT PAS SI C POSSIBLE. J AI UNE APPLICATION SUR COLDFUSION LIE A UNE BASE DE DONNEES UNE SIMPLE APPLICATION DE GESTION DE Imprimer une page PDF et ça dégénère [ par papao ] Salut à tous, j'expose mon problème: j'ouvre un fichier PDF dans un form vb6, j'utilise le composant "AcroPDF.dll" pour se faire et lorsque je veux i VBA et PDF ... la question du jour [ par chapata ] Bonjour à tous.Je cherche à savoir s'il est possible de lire un PDF avec du VBA (comme on peut le faire sur une page Web )(ou même avec du JavaScript) fichier pdf de plusieurs pages à imprimer [ par jytest ] Je suis débutant avec gros soucis avec pdfDeux questions svp.Comment imprimer directement un fichier pdf de plusieurs pagessur imprimante ?jyd


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,764 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales