Accueil > > > CONVERTION PS EN NOIR ET BLANC
CONVERTION PS EN NOIR ET BLANC
Information sur la source
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
Sources de la même categorie
Commentaires et avis
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é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ébutant avec gros soucis.Deux questions svp.Comment insérer du texte dans une feuille frame ?Comment 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ébutant avec gros soucis avec pdfDeux questions svp.Comment 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égrer une liste ou une cellule de réfé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égrer une liste ou une cellule de référence ou j'indiquerai le nom du fichier PDF
Fichier au format PDF [ par jytest ]
Je suis débutant.Je ne possè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éthode simple.Tout ce que je veux c'est afficher le document pdf (composé de plusieurs pages au format A4)
|
Derniers Blogs
[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko [FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|