IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Silverlight Discussion :

Mon fichier d'impression fait plus de 120 mégas


Sujet :

Silverlight

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    876
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 876
    Par défaut Mon fichier d'impression fait plus de 120 mégas
    Bonjour,

    J'imprime un document avec le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     Private Sub btnPrint_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs)
            Dim pd As New PrintDocument
            AddHandler pd.PrintPage, AddressOf pdprintpage
            AddHandler pd.EndPrint, AddressOf pdendprint
            pd.Print("Mon impression")
     
     
        End Sub
        Private Sub pdprintpage(ByVal sender As Object, ByVal e As PrintPageEventArgs)
            e.PageVisual = Me.PrintableLayout
        End Sub
    Malgré que mon document ne comprenne que 3 textbox et un listbox d'une quinzaine de lignes, il faut plus de 5 minutes (il est vrai sur des machines pas très performantes) pour envoyer le document sur l'imprimante. En regardant la taille du fichier qu'il envoie, je me suis rendu compte qu'il fait plus de 120 mégas (pour info quand je l'imprime sur une imprimante PDF, il ne fait plus que 340 ko soit 300 fois moins !).

    Y a t'il une astuce pour diminuer drastiquement la taille du fichier à imprimer ?

    Ou sinon, peut-on créer un fichier de type texte sans formatage ? et si oui, comment ?

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    876
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 876
    Par défaut
    Bon, et bien je pense que je vais devoir relativiser la responsabilité de silverlight dans la création de ce fichier de 126 mégas...

    Sur deux ordinateurs connectés à une même imprimante Dell, j'ai procédé au test suivant: Je coupe l'imprimante, j'imprime mon document avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    e.PageVisual = Me.PrintableLayout
    et puis je regarde la taille du fichier en attente d'impression.
    Sur ces deux ordinateurs la taille fichier est de 240 Ko et 360 Ko.

    Ce même test sur deux ordinateurs plus anciens avec imprimante, l'une HP laserjet 1020 donne 1,7 Mo et l'autre avec une HP PSC 1510 donne 126 Mb!!

    Ces ordinateurs impriment sans problèmes des documents Excell, word,...

    Est-ce lié aux pilotes ?
    Y-a t'il des solutions ?

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 35
    Par défaut
    Salutation,

    cela dépend énormement du pilote, effectivement.
    L'impression silverlight se fait via une bitmap haute résolution, envoyée au driver. Selon comment le driver gère cette bitmap, selon la résolution de ton imprimante, etc, les temps de transfert peuvent être énormes.

    A part passer par un intermédiaire (pdf, office document, fineprint, etc), je ne voit pas de solution miracle.

    Sur le net, on trouve comme "solution" de réaliser l'impression coté serveur avec une solution de report, puis de télécharger le fichier pour impression...

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    876
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 876
    Par défaut
    Le Pdf serait une solution, mais si je dois installer une imprimante pdf sur chaque pc, qu'en plus l'utilisateur doit:
    d'abord sélectionner l'imprimante pdf
    puis imprimer
    puis choisir l'endroit ou il veut sauver le fichier (ce dont il n'a que faire puisque lui ce qui l'intéresse c'est d'ouvrir le PDF)
    puis "Enregistrer" (s'il na pas changé le nom depuis l'impression précédente, confirmer qu'il veut bien écraser le fichier existant)
    Puis, une fois le pdf ouvert, à nouveau pousser imprimer
    puis OK
    Ca fait un peu compliqué...

    Je chercherais donc une imprimante pdf qui n'oblige pas à sauver le fichier avant d'ouvrir un pdf.

    Et, mieux, est-ce qu'en OOB il n'y aurait pas moyen d'ouvrir directement un PDF de l'application sans même devoir sélectionner une imprimante ? si oui, comment ?

  5. #5
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 35
    Par défaut
    Tu peux trouver des sdk (la plupart payants) qui te permettent de créer ce type de document (aspose par exemple).
    Cependant, il reste hasardeux de les utiliser depuis le silverlight.

    Comme je te le disait, les solutions qui fonctionnent passent la plupart du temps par la génération d'un report coté serveur (reporting services, crystal report, aspose, autre), puis le téléchargement du fichier (pdf, word, image, autre) coté client.

    Pour ouvrir un document en OOB, et bien il y a pléthore de solution... mais tu es en web.

    Le plus simple est de faire un top.document.href=URLDuFichierGenere, ou ouverture du popup via silverlight, ou autre solution "web". De cette façon, ton navigateur va lancer son plugin de lecture de document pdf (adobe reader, autre)
    L'autre consiste à télécharger depuis silverlight, le fichier généré via HTTPRequest, ou webservice, et d'ouvrir une fenêtre d'enregistrement de fichier.

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    876
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 876
    Par défaut
    Après de multiples test des combinaisons PC (+ ou - performants) avec diverses imprimantes (+ ou - performantes ou récentes), les résultats sont très variables.

    Une chose est sûre, c'est que le passage par PDF ne règle pas tout. D'une part, la génération du pdf avec PDF creator peut prendre jusqu'à 5 minutes, d'autre part, le pdf ainsi créé (qui ne fait que 350 ko) est transformé en fichier imprimable de 40 Mb environ.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Mon fichier gbc ne veux plus s'ouvrir
    Par jenny2909 dans le forum Ruby
    Réponses: 1
    Dernier message: 04/06/2011, 01h04
  2. mon fichier .mdb ne s'ouvre plus
    Par kendjo dans le forum Modélisation
    Réponses: 2
    Dernier message: 05/07/2007, 13h44
  3. Réponses: 4
    Dernier message: 22/05/2007, 20h59
  4. Réponses: 1
    Dernier message: 12/01/2007, 23h59
  5. Réponses: 6
    Dernier message: 19/11/2006, 00h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo