AsposeWords избавляется от лишней высоты стола

У меня возникли проблемы с попыткой избавиться от этого лишнего места на моем столе, используя слова aspose api.

Разве нет функции использовать минимальное пространство и увеличивать высоту ячейки только тогда, когда длина текста достигает предела?

В настоящее время моя таблица выглядит так...

введите здесь описание изображения

Но я хочу, чтобы таблица была построена без пробелов, как показано ниже:

введите здесь описание изображения

Какие свойства следует использовать и в каком порядке?

Я создаю таблицу с помощью DocumentBuilder.

Это мой код:

Table table = builder.startTable();

        // Insert Column headers: 
        int hcolumn = 0;
        for (String column : columns) {
            builder.insertCell();
            builder.getFont().setBold(true);
            builder.getRowFormat().setHeadingFormat(true);
            builder.writeln(translateHeader(column, hcolumn));
            table.setBottomPadding(0);
            hcolumn++;
        }

        builder.endRow(); // End of Header
        builder.getRowFormat().clearFormatting();

        // Loop through the records, split comma seperated(per cell) and create
        // a "row" for each loop.
        for (String string : data) {
            List<String> result = Arrays.asList(string.split("\\s*,\\s*"));
            int column = 0;
            for (String string2 : result) {
                builder.insertCell();
                builder.getFont().setBold(false);
                builder.getRowFormat().setHeadingFormat(false);
                // translate and insert
                builder.writeln(translateData(string2, column));
                column++;
            }
            builder.endRow();

        }
        builder.endTable();

Я добавил «setBottomPadding» в 0, что не помогло.

Это сгенерированный документ: ссылка Вот как я хочу это должна быть: ссылка


person Undisputed007    schedule 26.07.2017    source источник
comment
Возможно, вы можете решить эту проблему, указав 0 для свойства Table.BottomPadding. Если проблема не устранена, загрузите свой исходный (сгенерированный Aspose.Words файл DOCX) и ожидаемый документ Word в Dropbox и поделитесь загрузкой. ссылки здесь для тестирования. Мы изучим проблему со своей стороны и предоставим вам дополнительную информацию. Я работаю с Aspose в качестве разработчика-евангелиста.   -  person Awais Hafeez    schedule 27.07.2017
comment
@AwaisHafeez привет! Спасибо за ваш ответ. Я только что обновил вопрос. Я пробовал то, что вы предоставили, но безуспешно. См. вопрос о ссылках на документы, прилагаемых в соответствии с запросом, а также код, используемый для генерации. Надеюсь услышать от тебя   -  person Undisputed007    schedule 28.07.2017


Ответы (2)


Согласно документам, DocumentBuilder.WriteLn делает это : Вставляет в документ строку и разрыв абзаца; поэтому вы просто хотите записать данные без разрыва абзаца. Попробуйте использовать builder.write вместо builder.writeln и посмотрите, работает ли это.

PS: Возможно, вы уже это знаете, но ln в конце write[ln] означает line, поэтому обычно это означает, что он будет печатать/записывать, добавляя новую строку в конце текста/данных.

person Christos Lytras    schedule 29.07.2017
comment
Я был настолько ослеплен, что не мог этого видеть! Спасибо. Заработанная награда :) - person Undisputed007; 30.07.2017

Замените builder.writeln(translateData(string2, column)); на builder.write(translateData(string2, column));

writeln добавляет пробел (новую строку) внизу.

person Sreenath S    schedule 05.08.2017