どのようにPdfpTableの幅を取得するには?

だから私はテーブル幅を特定のケースで成功しないようにする方法を見つけようとしてきました。

私は2列のテーブルを持っています。 2番目の列には、1つの列を持つ表を含む1つのセルを追加します。このセルでは、1つの列を持つ表を追加してから、テキストを含むセルを追加し、次に2つの列を持つ別のPdfPTableを追加します。

今この最後のPdfPTable私は操作することができない縫い目。 SetTotalWidthとWidthPercentageは何もせず、何も変わりません。私は単にこのテーブルの幅を狭くしたいだけです。

間違ったことをやっているのですか?

0

1 答え

4つのネストしたテーブル?これは、実際にはサンプルコードが必要なため、すべて同じページに入ることができます。以下は、あなたがしていることを裸の必需品に取り除くことを希望しているものです。それは正しいか?これは答えではなく、出発点なので、何か作業する必要があります。

私は最も外側と内側のテーブルの幅を設定し、私のために働いているだけで大​​丈夫です。内側のテーブルのために外側のテーブルが吹き飛ばされていますが、それは予想されます。

        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
追加された
いくつかのサンプルコードを投稿した場合、何回でも入れ子にすると複雑さが増すため、できるだけシンプルにしておけば本当に役に立ちます。
追加された 著者 Chris Haas,
ほとんどの場合、私が最初にセルに入れた最新のテーブルを追加します。そして、私はテーブルの幅を変更することはありません..
追加された 著者 Johan,
最初に、通常はたくさんのテキストを含むセルをt3に追加します。その後、何らかの理由で最初にセルに追加するテーブルt4テーブルが表示されます。これは、テキストの後にt4に直接追加するように変更されました。しかしそれはitextsharpにwidthコマンドを適用していませんでした。
追加された 著者 Johan,