Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
Yardım
karakter kaldı

C# Word'e barkod bastırma

Kolay gelsin arkadaşlar

Yardıma ihtiyacım var.

Tebligat basımı yapan bir program yazdım . Basılan tebligatları ptt vasıtsıyla göndereceğiz.
Yaklaşık 700.000adet tebligat basılacak ben tebligatı hazırladım veritabanından çekip
word'e mergefield oluşturup gerekli yerleri dolduruyorum. Burada bir sıkıntı yok fakat ptt'den takip etmek için barkod oluşturmam gerekiyor


Graphics g = panel1.CreateGraphics();
            Font LabelFont = new Font("Arial", 10);
            Font CodeFont = new Font("Free 3 of 9", 40);
            string code = ds["barkodno"].ToString();
            
            float LabelWidth = g.MeasureString(code, LabelFont).Width;
            float CodeWidth = g.MeasureString(code, CodeFont).Width;
            g.DrawString(code, CodeFont, Brushes.Black, 0, 5);
            g.DrawString(code, LabelFont, Brushes.Black, new PointF(((CodeWidth - LabelWidth) / 2), 45));



barkod numarsını belgeye numara olarak değilde barkod okuyucunun okuyacağı formatta yazdırmam gerekiyor yukarıdaki kod ile girdiğim text'i barkod'a çevirdim fakat bir türlü
word'e basamadım.
sqlden çektiğin verileri worde atmak için

 if (fieldName == "tesisat")
                        {
                            myMergeField.Select();
                            oWord.Selection.TypeText(ds["tesisat"].ToString());
                        }


bu komutla yazdırıyorum datayı fakat resim bastıramadım.


birde boyle bir kod var bu şekilde yazabilirsem g.drawstringi çalışır gibi geliyor
file name olan yer g.drawstringin ürettiği resim olması lazım ama yapamadım .
oWord.Selection.InlineShapes.AddPicture(@"c:\resim.png", ref oFalse, ref oTrue, ref oMissing);
oWord.Selection.InsertCaption(@"c:\resim.png", ref oMissing, ref oMissing, ref oMissing, ref oMissing);



Eğer kolay bir yöntem varsa onuda uygulayabilirim.
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Cevaplar

  • huseyn adlı üyenin fotoğrafı
    10 yıl önce yazılmış
    42 cevap - 0 soru
    aklma şöyle bir şey geldi:
    barkodun başladığı yerde satır ve kolon numaralarını bir değişkene alın. aynı şekilde bittiğe yeride artık kaç karakterse barkod ona göre bir değişkene atayın. tebligat işlemi bittikten sonra bu başlangıç ve bitiş noktalarını selection ile seçili hale getirin. ve seçilmiş olan yerin fontunu Free 3 of 9 olarak ayarlayın. belki olabilir.
    • omercyprus adlı üyenin fotoğrafı omercyprus
      ilk başta mantıklı geldi denedim :( ama hüsran çalışmaması doğal sadece punto değiştiriyoruz 40 yapabilirim fakat width ve height otomatik atıyor onları manuel ayarlıyamadım



       float LabelWidth = g.MeasureString(code, LabelFont).Width;
       float CodeWidth = g.MeasureString(code, CodeFont).Width;
       g.DrawString(code, CodeFont, Brushes.Black, 0, 5);
       g.DrawString(code, LabelFont, Brushes.Black, new PointF(((CodeWidth - LabelWidth) / 2), 45));
      


      bu kodlarıda bi şekilde o text'e uyarlamak gerekir.
      10 yıl önce yazılmış
  • armaganbice adlı üyenin fotoğrafı
    10 yıl önce yazılmış
    13 cevap - 0 soru
    İnternetten Free3of9 barkod fontu (truetype) i bul, bilgisayarında windows fonts dizinine kaydet...
    Yazdıracağın alanın önüne ve sonuna * işareti ekle...
    alanın fontun dediğim fontu yap..
    Barcode Code 39 formatında çıkması gerekir...
    Kolay gelsin...
    • omercyprus adlı üyenin fotoğrafı omercyprus
      Yukara yazdım ama okumadın sanırım o yöntem olmuyor width bilgileri filan ayalarnması gerekiyor yoksa çok uzun bir barkod çıkarıyor. Başka bir yöntemle çözdüm sorunu
      10 yıl önce yazılmış