PdfpTable qanday olinadi? Kenglik ishlashi kerakmi?

Shunday qilib men qandaydir bir ish uchun muvaffaqiyatsiz ishlaydigan jadval kengligini qanday qilib olishni o'rganmoqchiman.

2 ta ustunli stol bor. Ikkinchi ustunda bitta ustunli jadvalni o'z ichiga olgan bitta xonani qo'shaman. Ushbu xonada men bir ustunli jadval qo'shib, keyin matnli hujayra va keyin ikkita ustun bilan boshqa PdfACTable qo'shaman.

Mana bu so'nggi PdfACTable seamni manipulyatsiya qila olmaydi. SetTotalWidth va WidthPercentage hech narsa qilmaydi, hech narsa o'zgarmaydi. Men oddiygina bu jadvalni kengroq qilishni xohlayman.

Men noto'g'ri ish qilyapmanmi yoki itextcharpda xatolar bormi?

0

1 javoblar

4 ta ichki jadvallar? Bu, albatta, ba'zi bir namuna kodiga muhtoj, shuning uchun hammasi bir xil sahifaga o'tadi. Quyida, umuman, yalang'och talablarga javob beradigan narsalar haqida qisqacha ma'lumot beradi. U to'g'ri qaraydimi? Bu javob emas, balki boshlang'ich nuqtasi emas, shuning uchun bizda ishlash uchun biror narsa bor.

Kengliklarni eng tashqi va ichki jadvallarga qo'ydim va u men uchun juda yaxshi ishladi. Tashqi stol ichki jadvallar sababli portlab ketgan, ammo kutilganidek.

        string sampleFile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "Sample.pdf");
        using (FileStream fs = new FileStream(sampleFile, FileMode.Create, FileAccess.Write, FileShare.None))
        {
            using (Document doc = new Document(PageSize.LETTER))
            {
                using (PdfWriter w = PdfWriter.GetInstance(doc, fs))
                {
                    doc.Open();

                    PdfPTable t1 = new PdfPTable(2);
                    PdfPTable t2 = new PdfPTable(1);
                    PdfPTable t3 = new PdfPTable(1);
                    PdfPTable t4 = new PdfPTable(2);

                    t1.SetTotalWidth(new float[] { 10f, 40f });
                    t4.SetTotalWidth(new float[] { 40f, 10f });

                    t4.AddCell("t4a");
                    t4.AddCell("t4b");
                    t3.AddCell(t4);
                    t2.AddCell(t3);
                    t1.AddCell("t1a");
                    t1.AddCell(t2);

                    doc.Add(t1);

                    doc.Close();
                }
            }
        }
0
qo'shib qo'ydi
Agar siz ba'zi bir namunaviy kodlarni joylashtirsangiz, iloji boricha sodda qilib qo'ying, chunki bir necha marta nesting ko'p murakkabliklarni keltirishi mumkin.
qo'shib qo'ydi muallif Chris Haas, manba
Taxminan, eng yangi stolni avval hujayra ichiga qo'yib, uni qo'shib qo'ydim. Men stolni uning kengligini o'zgartirmayman.
qo'shib qo'ydi muallif Johan, manba
Birinchidan, men odatda t3 ga ko'p matnli hujayra qo'shaman, keyin esa jadvalni t4 jadvaliga kiritaman, negaki matnni keyinchalik to'g'ridan-to'g'ri t4 ga qo'shib olish uchun o'zgartirganman. Biroq, bu itextsharp, kenglik buyruqlar amalga oshirish bermadi.
qo'shib qo'ydi muallif Johan, manba