Barcode 128 in Grafik umwandeln
#1
Ich schon wieder ;-)

Wenn ich einen Barcode erstelle, dann erzeugt Corel X8 ein "Barcode-Objekt" . Dieses hat z.B. im Code 128 einen weißen Hintergrund.
Kann ich das Objekt in "normale Grafik" umwandeln um den Hintergrund zu entfernen?

In früheren Version bis Corel7 ging das ohne Probleme. Jetzt bekomme ich es nicht mehr hin. Ich verwende deshalb noch immer das Barcode Untergrogramm aus der 7ner Version und füge den erzeugten Code 128 über die Zwischenablage in das X8 Dokument ein. So bekomme ich normale Grafik, die ich nach Belieben bearbeiten kann.

Vielleicht geht es auch einfacher. Danke, Norbert
Zitieren
#2
Mit Bearbeiten meinst du wahrscheinlich stufenlos skalieren, einfärben usw. - oder auch editieren (den Barcode an sich verändern)?

Gruß
Oswald
Zitieren
#3
Hallo Oswald,

in erster Linie möchte ich den weißen Hintergrund entfernen und den Strichcode skalieren.
Die Inhalt des Codes möchte ich nicht editieren, den habe ich ja beim Erzeugen festgelegt.

Danke für deine Hilfsbreitschaft, Norbert
Zitieren
#4
Hallo,
da die Vorgabe für einen Strichkode wegen der besseren scanbarkeit der weiße Hintergund ist hat das Corel wahrscheinlich so übernommen.
Ich habe ja nur die X8 Testversion da ist es mir auch nicht gelungen ihn als normales Objekt zu bekommen.
Schau mal im Andockfenster "Verknüpfungen und Lesezeichen" vielleicht ist da ja bei dir etwas eingetragen.

Editieren ist ja durch die Verknüpfung easy, einfach einen Doppelklick.

Skalieren kann ich den Code, einfach ganz normal an den Anfassern ziehen.

Mit tricksen kann ich dem Strichkode eine andere Hintergrundfarbe geben:
Rechteck in der Größe des Strickkodeobjekts aufziehen und über den Code legen
-->Effekte-->Linse
im Andockfenster "Linse" Farbgrenze wählen, Grad:100% und die benötigte Farbe auswählen.
[ATTACH=CONFIG]12438[/ATTACH]

Eventuell könnte es auch funktionieren den Barcode als CMX zu exportieren und dann wieder zu importieren, aber da bist mit deiner jetzigen Vorgehensweise besser dran.

Gruß
Norre


Angehängte Dateien Thumbnail(s)
   
Zitieren
#5
Danke norre,

das scheint wirklich nicht zu gehen. Schon ab Corel 9 ging das nicht mehr. Aber ich dachte, vielleicht bin nur ich zu doof. Ich brauche das aber wirklich nicht oft und kann mir mit dem Barcode whizzard aus der 7er Version helfen. Win7 meckert zwar immer, aber es funktioniert trotzdem.


[ATTACH=CONFIG]12439[/ATTACH]


Gruß, Norbert


Angehängte Dateien Thumbnail(s)
   
Zitieren
#6
Hallo,
du könntes natürlich auch den Zint benützen https://www.heise.de/download/product/zi...ator-79603
Ausgabe als SVG.
Koter hat dazu mal ein Macro geschrieben um Zint direkt in Draw zu starten, obs allerdings mit der X8 läuft kann ich nicht sagen.
http://www.juergens-workshops.de/board/s...post133641

Gruß
Norre
Zitieren
#7
Hallo N...;-),

Das Makro muss man natürlich für Code 128 umstricken.
Unter X7 läuft es:

[Bild: code1289aj63.gif]

Das Makro codiert allerdings Umlaute falsch.
Wenn das noch nachgerüstet werden soll, müsste man wissen,
ob der Scanner FNC4 beherrscht oder Umlaute anders umgewandelt werden müssen.

Code:
Sub Code128()
    Dim Text As String
    Dim TempPfad As String
    Dim ZintPfad As String
    Dim Skalierung As String
    Dim Befehl As String
    
    ActiveDocument.Unit = cdrMillimeter
    
    ZintPfad = WoIstZint
    TempPfad = Environ("TEMP") & "\"
    
    Skalierung = "1.5"
    a = Chr(34)
    If ActiveDocument.Selection.Shapes.Count = 0 Then
        MsgBox "nichts ausgewählt!", vbExclamation
        Exit Sub
    End If
    If ActiveDocument.Selection.Shapes(1).Type = cdrTextShape Then
        Text = ActiveDocument.Selection.Shapes(1).Text.Story 'Text des selektierten Objekts
        Text = Trim(Text)
        If Text <> "" Then
            Text = Replace(Text, a, "\" & Chr(34)) 'Zollzeichen maskieren
            Text = Chr(34) & Text & a
            Text = Replace(Text, Chr(13), "\n") ' Zeilenumbrüche ersetzen
            Text = Replace(Text, Chr(11), "\n") ' Zeilenumbrüche ersetzen
            Befehl = _
            a & ZintPfad & "zint" & a _
            & " " & a & "-o" & a & " " _
            & a & TempPfad _
            & "temp.eps" & a _
            & " --binary -b 60" _
            & " --scale=" & Skalierung _
            & " -d " _
            & Text
'            Debug.Print Befehl
            warte Befehl 'Ausführen und warten bis Zint fertig ist
            If DateiVorhanden(TempPfad & "temp.eps") Then
                epsImport TempPfad & "temp.eps" 'Importieren
                Kill TempPfad & "temp.eps" 'temporäre Datei löschen
            Else
                MsgBox "Codierungsfehler", vbExclamation
                Exit Sub
            End If
            Else
            MsgBox "Keinen Text gefunden", vbExclamation
        End If
        Else
        MsgBox "Keinen Text gefunden", vbExclamation
    End If
End Sub

Sub warte(ByVal strPath As String)
    Dim WshShell As Object
    Set WshShell = CreateObject("WScript.Shell")
    WshShell.Run strPath, 7, 1
    Set WshShell = Nothing
End Sub

Function DateiVorhanden(Datei As String) As Boolean
    Dim FS As Object
    Set FS = CreateObject("Scripting.FileSystemObject")
    DateiVorhanden = FS.FileExists(Datei)
    Set FS = Nothing
End Function

Sub epsImport(Datei As String)
    Dim cx As Double, ct As Double
    Dim s As Shape
    cx = ActiveShape.CenterX
    ct = ActiveShape.TopY
    Dim impopt As StructImportOptions
    Set impopt = CreateStructImportOptions
    impopt.MaintainLayers = True
    Dim impflt As ImportFilter
    Set impflt = ActiveLayer.ImportEx(Datei, cdrPSInterpreted, impopt)
    impflt.Finish
    ActiveShape.CenterX = cx
    ActiveShape.BottomY = ct
    For Each s In ActiveShape.Shapes
        If s.Type = cdrTextShape Or s.Fill.UniformColor.RGBValue <> 0 Then
            s.Delete
        End If
    Next
    With ActiveShape
        .Shapes.All.Combine
        .Ungroup
    End With
    ActiveSelection.Shapes.All.RemoveFromSelection
End Sub

Function WoIstZint() As String
    On Error GoTo fehler
    Dim WshShell As Object
    Set WshShell = CreateObject("WScript.Shell")
    If DateiVorhanden("C:\Program Files (x86)\Zint\zint.exe") Then
        WoIstZint = "C:\Program Files (x86)\Zint\"
        Set WshShell = Nothing
        Exit Function
    Else
        WoIstZint = WshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\qtZint.exe\Path") & "\"
        Set WshShell = Nothing
        Exit Function
    End If
fehler:
    WoIstZint = ""
End Function

Gruß

Koter
Zitieren
#8
Hallo Koter und norre,

Ihr seid ja wirklich toll bemüht. Vielen, vielen Dank:daumen:

Da ich aber nicht weiß, mit welchen Scannern später gelesen wird und es sich um sensible Produkte handelt, werde ich wohl bei meinem bewährten work arround bleiben.

Nochmals Danke, Norbert

Edit: Zint funktioniert auch super. Umlaute habe ich in meinen Codes keine.
Zitieren
#9
Hi Norbert, bin neu hier arbeite aber seit Version 2.0 mit COREL, auch beruflich. Derzeit X8 Vollversion.

Ich arbeite fast täglich mit Barcodes in COREL und muss diese ständig in ein Grafikelement umwandeln. Das ist in COREL sehr simpel.

Barcode mit dem Assistenten erstellen lassen, diesen dann mit STRG+C kopieren, dann über Menü Bearbeiten -> Inhalte einfügen -> Bild (Metadatei) einfügen. Das so eingefügte Element kannst du über STRG+U in seine einzelnen Komponeten entgruppieren und nach Deinen Wünschen bearbeiten.

Wie gesagt, damit arbeite ich beruflich seit Jahren.

Hoffe ich konnte helfen.

Gruß aus dem hohen Norden...Ralf
[-] 1 Benutzer bedankt sich bei Omicron für diesen Beitrag:
  • Gerrie25
Zitieren
#10
Hallo Omicron
nett das du dich mit einbringst und gleich kompetent !

Auf sone einfache Vorgehensweise muss man ertmal kommen, klasse
Mit Barcodes arbeiten wir so gut wie nie, also auch keine Gedanken um sowas gemacht.
Bei QR-Codes kann man den Hintergrund einfach wegklicken, warum Corel das bei "Normalen"
Barcodes nicht eingebaut hat weiß ich auch nit.

ruhigen 4 Advent wünsch ich

Suc
Zitieren



Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Corel Draw - Schrift Quicksand nach Umwandeln in Kurven nicht plottbar annalotta 1 1.874 15.02.2024, 13:57
Letzter Beitrag: Piet
  Grafik beim Export für das Web unscharf AndreasMi 1 932 17.06.2023, 12:02
Letzter Beitrag: koter
  Grafik per Makro Exportieren Chrisbeee 10 2.190 10.02.2023, 00:54
Letzter Beitrag: Chrisbeee
  Kurven wieder in Text umwandeln Karthagos 18 4.906 30.04.2022, 12:24
Letzter Beitrag: koter
  DSF-Dateien in DXF oder DRW umwandeln? Ralf Ham 14 6.921 04.01.2020, 09:30
Letzter Beitrag: Unkraut
  Objekt in Kontur umwandeln (ich kann die Farbe nicht ändern) Roelli 1 1.703 25.11.2018, 18:03
Letzter Beitrag: norre
  cdr in pdf umwandeln Jott Kaa 2 1.589 29.07.2018, 10:25
Letzter Beitrag: Jott Kaa
  Warum macht Corel Trace_9 Linien um die Grafik?? diddytil 5 1.756 29.05.2018, 20:03
Letzter Beitrag: norre
  1 von 3 Druckern "vergisst" Teile einer Grafik mc_oyzo 3 1.868 07.01.2018, 22:15
Letzter Beitrag: mc_oyzo
  RGB-Farbe möglichst präzise in CMYK umwandeln OsCor 8 4.876 25.10.2017, 12:08
Letzter Beitrag: OsCor