begin process at 2012 02 11 11:54:02
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Texte

 > CONVERTION PS EN NOIR ET BLANC

CONVERTION PS EN NOIR ET BLANC


 Information sur la source

Note :
Aucune note
Catégorie :Texte Source .NET ( DotNet ) Classé sous :postscript, noir blanc, pdf Niveau :Débutant Date de création :21/05/2008 Date de mise à jour :21/05/2008 08:29:59 Vu :4 883

Auteur : CerberusAbaka

Ecrire un message privé
Commentaire sur cette source (1)
Ajouter un commentaire et/ou une note

 Description

Petit exe qui permet de convertir des fichiers PS en noir et blanc (le vectoriel, pas les images).

Pour info, le ps permet ensuite de créer du pdf. Je n'ais pas trouver de librairie gratuite qui convertisse du pdf en noir et blanc. Si quelqu'un en connait une d'ailleurs, sa m'intéresse.



Source

  • Module Module1
  • Public Sub main()
  • 'on va essayer sa :
  • 'il faut chercher : # # # rgb
  • 'et le changer pour : 0 0 0 rbg
  • 'une boucle devrai suffire, g des doute pour les image...
  • 'aller on adapte pour faire un exe :
  • 'args : Nomfichier1, nomFichier2 ...
  • 'verification qu'il y à des argument :
  • Dim f As String
  • If My.Application.CommandLineArgs.Count = 0 Then
  • disphelp()
  • Exit Sub
  • End If
  • 'recuperation du repertoire temporaire :
  • Dim temp As String = System.Environment.GetEnvironmentVariable("temp")
  • For Each f In My.Application.CommandLineArgs
  • If System.IO.File.Exists(f) Then
  • 'fichier temporaire :
  • Dim e As Integer
  • Dim temp_fich As String = temp & "\temp_ps" & e & ".ps"
  • e += 1
  • Dim li As New System.IO.StreamReader(f)
  • Dim lio As New System.IO.StreamWriter(temp_fich, False)
  • While Not li.EndOfStream
  • Dim t As String = li.ReadLine
  • If t Like "*rgb*" And Not t Like "*/rgb*" Then
  • 'If Not t Like "*0 0 0 rgb*" Then
  • 'bon la il faut faire une petite boucle...
  • 'on prend l'index de rbg :
  • Dim fi As Boolean = False
  • Dim ind As Integer = 0
  • While Not fi
  • t = net_line(t, t.IndexOf("rgb", ind))
  • If (t.LastIndexOf("0 0 0 rgb") + 9) <> (t.LastIndexOf("rgb") + 3) Then
  • ind = t.LastIndexOf("0 0 0 rgb") + 9
  • Else : fi = True
  • End If
  • End While
  • 'End If
  • End If
  • lio.WriteLine(t)
  • End While
  • lio.Close()
  • li.Close()
  • 'on copi le fichier
  • System.IO.File.Copy(temp_fich, f, True)
  • End If
  • Next
  • End Sub
  • Private Function net_line(ByVal l As String, ByVal i As Integer) As String
  • Dim ind As Integer = i
  • Dim ind2 = ind - 1
  • Dim rgbfini As Boolean = False
  • Dim pa As Integer = 0
  • While rgbfini = False
  • If (Char.IsNumber(l.Chars(ind2)) Or l.Chars(ind2) = " " Or l.Chars(ind2) = ".") And ind2 > 1 Then
  • If l.Chars(ind2) = " " Then
  • pa += 1
  • If pa = 4 Then Exit While
  • End If
  • Console.WriteLine(l.Chars(ind2))
  • ind2 -= 1
  • Else
  • Exit While
  • End If
  • End While
  • If ind - 1 <> ind2 Then
  • If l.Substring(ind2 - 1, ind + 2 - ind2) Like "* *" Then
  • l = l.Replace(l.Substring(ind2 + 1, (ind - ind2) + 2), " 0 0 0 rgb")
  • End If
  • End If
  • Return l
  • End Function
  • Sub disphelp()
  • Console.WriteLine("Utilisation :")
  • Console.WriteLine("Nom_du_premier_fichier nom_du_deuxieme_fichier...")
  • Console.WriteLine("")
  • Console.WriteLine("Les fichier sont ecrasés")
  • End Sub
  • End Module
Module Module1
    Public Sub main()
        'on va essayer sa : 
        'il faut chercher : # # # rgb
        'et le changer pour : 0 0 0 rbg

        'une boucle devrai suffire, g des doute pour les image...
        'aller on adapte pour faire un exe :
        'args : Nomfichier1, nomFichier2 ...

        'verification qu'il y à des argument :
        Dim f As String
        If My.Application.CommandLineArgs.Count = 0 Then
            disphelp()
            Exit Sub
        End If
        'recuperation du repertoire  temporaire :
        Dim temp As String = System.Environment.GetEnvironmentVariable("temp")


        For Each f In My.Application.CommandLineArgs

            If System.IO.File.Exists(f) Then
                'fichier temporaire :
                Dim e As Integer
                Dim temp_fich As String = temp & "\temp_ps" & e & ".ps"
                e += 1

                Dim li As New System.IO.StreamReader(f)
                Dim lio As New System.IO.StreamWriter(temp_fich, False)

                While Not li.EndOfStream
                    Dim t As String = li.ReadLine
                    If t Like "*rgb*" And Not t Like "*/rgb*" Then
                        'If Not t Like "*0 0 0 rgb*" Then
                        'bon la il faut faire une petite boucle...
                        'on prend l'index de rbg :
                        Dim fi As Boolean = False
                        Dim ind As Integer = 0
                        While Not fi
                            t = net_line(t, t.IndexOf("rgb", ind))
                            If (t.LastIndexOf("0 0 0 rgb") + 9) <> (t.LastIndexOf("rgb") + 3) Then
                                ind = t.LastIndexOf("0 0 0 rgb") + 9
                            Else : fi = True
                            End If
                        End While

                        'End If
                    End If
            lio.WriteLine(t)
                End While
                lio.Close()
                li.Close()

                'on copi le fichier 
                System.IO.File.Copy(temp_fich, f, True)
            End If
        Next



    End Sub

    Private Function net_line(ByVal l As String, ByVal i As Integer) As String

        Dim ind As Integer = i
        Dim ind2 = ind - 1
        Dim rgbfini As Boolean = False
        Dim pa As Integer = 0
        While rgbfini = False

            If (Char.IsNumber(l.Chars(ind2)) Or l.Chars(ind2) = " " Or l.Chars(ind2) = ".") And ind2 > 1 Then
                If l.Chars(ind2) = " " Then
                    pa += 1
                    If pa = 4 Then Exit While
                End If

                Console.WriteLine(l.Chars(ind2))

                ind2 -= 1
            Else
                Exit While
            End If

        End While

        If ind - 1 <> ind2 Then
            If l.Substring(ind2 - 1, ind + 2 - ind2) Like "* *" Then
                l = l.Replace(l.Substring(ind2 + 1, (ind - ind2) + 2), " 0 0 0 rgb")
            End If
        End If

        Return l
    End Function


    Sub disphelp()

        Console.WriteLine("Utilisation :")
        Console.WriteLine("Nom_du_premier_fichier nom_du_deuxieme_fichier...")
        Console.WriteLine("")
        Console.WriteLine("Les fichier sont ecrasés")

    End Sub

End Module


 Conclusion

Pour utiliser le code, utiliser une nouvelle application VB.NET type console, puis coller le code dans le module.

Cette application est utiliser dans une chaine de convertion de fichier Dessin CATIA ver pdf, elle permet dans certain cas de sortir des plans en noir et blanc. Utilisé avec GostScript et une macros vb6(catvba).


 Historique

21 mai 2008 08:29:31 :
MAJ
21 mai 2008 08:29:59 :
MAJ

 Sources du même auteur

Source .NET (Dotnet) DERNIER UTILISATEUR D'UN FICHIER

 Sources de la même categorie

Source avec Zip Source avec une capture MASQUE DE SAISIE NUMÉRIQUE par acive
Source avec Zip Source .NET (Dotnet) COMPTEUR DE NOMBRE DE MOTS DANS UN TEXTE par alpha5
Source avec Zip Source avec une capture HM - BLOCNOTE par hassenmajor
Source .NET (Dotnet) [VB.NET] CLASS DE COLORATION SYNTAXIQUE "ON THE FLY" par huzima
Source avec Zip Source avec une capture PERSONNALISEZ VOS BOÎTES DE MESSAGE (X)HTML par medjahedScript

 Sources en rapport avec celle ci

PARSE PDF AVEC ITEXTSHARP (RÉCUPÉRATION DU TEXTE, PAS OCR) par Norres
Source avec Zip VBFACTURATION : LE CODE LE + SIMPLE POSSIBLE EN VBA POUR GÉR... par Patrice99
Source avec Zip PILOTER ACROBAT READER DEPUIS EXCEL ET VBA par jpduf
Source avec Zip SNAP2PDF : IMPRIMER UN ÉTAT ACCESS EN PDF VIA UN INSTANTANÉE... par Patrice99
Source avec Zip Source .NET (Dotnet) DOC2PDF : CONVERTIR UN DOCUMENT WORD EN PDF VIA UN PILOTE D'... par Patrice99

Commentaires et avis

Commentaire de arckhenstone le 30/03/2009 16:05:51

Il n'existe pas le meme code pour DEPHI 7 lol ? je cherche depuis se matin du code qui me permettrai par l'appui d'un bouton de convertir mon image en noir et blanc...
Mais avec un bon seuillage que par exemple s'il y a plusieurs pixel noirs tout autour d'un seul pixel blanc ( défaut de l'image) qu'il le corrige et le transforme en pixel noir.

Quelqu'un pourrait m'aider ou m'envoyer un lien ? merki d'avance

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Comment partager un fichier PostScript (ou pdf) en VB6? [ par saebe ] Quelqu'un a une id&#233;e? StringBuffer et comment chercher un texte oubien il existe une dll?oubien est-it possible de faire quelque chose avec ghost lien telechargeable [ par gabimage ] bonjour, je souhaite savoir comment on fait sur flash pour mettre un lien qui quand on clik dessus permette a l internaute de telecharger un fichier( afficher et imprimer un fichier pdf de plusieurs pages [ par jytest ] Je suis d&#233;butant avec gros soucis.Deux questions svp.Comment ins&#233;rer du texte dans une feuille frame ?Comment&nbsp;imprimer directement un f Liens pour ouvrir une page d'un PDF [ par MYPHPSCRIPTER ] Bonjours tous le monde, Voila je ne sais pas si cela existe j'arrive pas a trouver. Je souhaite à partir d un lien ouvrir un PDF jusque là vous me di fichier pdf de plusieurs pages à imprimer [ par jytest ] Je suis d&#233;butant avec gros soucis avec pdfDeux questions svp.Comment&nbsp;imprimer directement un fichier pdf de plusieurs pagessur imprimante ?j Ouvrir un fichier PDF via Excel avec une macro [ par rmalotaux ] Bonjour,Je suis dans une feuille excel ou je vais int&#233;grer une liste ou une cellule de r&#233;f&#233;rence ou j'indiquerai le nom du fichier PDF Ouvrir un fichier PDF via Excel avec une macro [ par rmalotaux ] Bonjour,Je suis dans une feuille excel ou je vais int&#233;grer une liste ou une cellule de r&#233;f&#233;rence ou j'indiquerai le nom du fichier PDF Fichier au format PDF [ par jytest ] Je suis d&#233;butant.Je ne poss&#232;de pas bien l'impression.Qui veut bien m'aider ?J'ai un fichier pdf de plusieurs pages au format A4.J'ai besoin Help!!! Help!!! Help!!! Message box et PDF [ par cedric1981 ] Bonjour, je souhaite tranforme un fichier excel en PDF,j'ai trouve le code suivant qui fonctionne bien chez moi. 'Define the postscript and .pdf file utilisation d'un fichier pdf [ par jytest ] Au secours !!!N'y a-t-il pas une m&#233;thode simple.Tout ce que je veux c'est afficher le document pdf (compos&#233; de plusieurs pages au format A4)


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 : 3,167 sec (3)

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