Форум программистов, компьютерный форум, киберфорум
HCL Notes: Программирование
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.89/518: Рейтинг темы: голосов - 518, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 05.12.2006
Сообщений: 173

Java, Pdf

10.07.2007, 12:30. Показов 95289. Ответов 83
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не получается :( , может я что-то не так делаю. Скачал i-text, переименовал в com.jar, затем вставил текст, получил ошибку, что major.minor version 0.48 is too recent, ошибку поборол тем, что скачал с того же сайта toolbox.jar, bcmail-jdk 14-135.jar, bcprov-jdk 14-135.jar, но теперь выдает ошибки: Class com.lowagie.Document not found in import + такие же ошибки на остальные import com...
Как лечить? Может это из-за того, что в lotus\notes\Notes.jar тоже внутри есть com - и он ищет там?

Ошибочка вышла. Все равно получаю ошибку Invalid class format in ... The major.minor version 48.0 is too recent for thys tool to understand.

Как побороть? :(
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.07.2007, 12:30
Ответы с готовыми решениями:

Нужна java-программа для чтения электронных книг в формате PDF. Или как можно переделать PDF книгу в вордовский файл?
Нужна java- программа для чтения электронных книг в формате PDF. Нужна очень срочно прошу помощи завтра экзамен просто нада успеть. Или...

Java не открывает pdf
Пишит вспомогательный документ не был загружен и может быть заблокирован вследствии установленного параметра безопасности на панели...

Просмотр PDF, используя Java
КАК ИСПОЛЬЗУЯ JAVA ПРОСМОТРЕТЬ ФАЙЛ *.PDF? НЕОБХОДИМО НАПИСАТЬ ПРОГРАММУ ДЛЯ ПРОСМОТРА PDF!!!

83
v2v
11.07.2007, 19:18
а какая у тебя версия Лотус Домино?
0 / 0 / 0
Регистрация: 05.12.2006
Сообщений: 173
11.07.2007, 20:59
Lotus Notes 6.5.3
0
0 / 0 / 0
Регистрация: 09.07.2005
Сообщений: 209
14.08.2007, 10:00
а как на LS создать PDF?
с java еще не умею работать
0
0 / 0 / 0
Регистрация: 09.07.2005
Сообщений: 209
14.08.2007, 11:21
//создаем экземпляр объекта
Document document = new Document();
это Document имеет отношение к доминошному документу.
когда пытаюсь создать переменную doc типа(класс) Document компилятор сообщает об ошибке. imcompatible types
я плохо знаю ява. но мне кажется тут два типа конфликтует.

хочется взятьданные из доминошного документа потом передать в пдф.
0
0 / 0 / 0
Регистрация: 05.12.2006
Сообщений: 173
14.08.2007, 12:19
//создаем экземпляр объекта
Document document = new Document();
класс Document объявлен в 2 местах:
1) lotus.domino.Document
2) com.lowagie.text.Document

соответственно, конкретно указываешь:
<!--shcode--><pre><code class=java>com.lowagie.text.Document document = new Document();[/CODE]
Да, и, кстати, не забудь в import указать <!--shcode--><pre><code class=java>import com.lowagie.text.Document;[/CODE]


а как на LS создать PDF?
с java еще не умею работать
Только руками напрямую в файл через NotesStream в соответствии со спецификацией (само-убийство!) :o

будут вопросы, пиши лучше сразу на alex [дог] f9(точка)avtograd.ru
У меня до начала сентября инет по времени, к тому же диал-ап, здесь бываю не часто.

Предвижу много вопросов, типа, а как создавать PDF с русскими символами, насчет таблиц и проч. ;)


хочется взятьданные из доминошного документа потом передать в пдф.
Самый простой способ (если в документе нет таблиц, или таблицы с фиксированным числом строк)
1. Создаешь в Open Office документ с текстовыми полями (задаешь имена, не используй только знаки подчеркивания и проч.)
2. Документ сначала сохраняешь, затем в сессионную переменную передаешь его UNID, потом вызываешь
<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">ява-агент</div></div><div class="sp-body"><div class="sp-content"><!--shcode--><pre><code class=java>import lotus.domino.*;

import java.io.FileOutputStream;

import com.lowagie.text.pdf.AcroFields;
import com.lowagie.text.pdf.PdfReader;
import com.lowagie.text.pdf.PdfStamper;

public class JavaAgent extends AgentBase {

public void NotesMain() {
try {
Session session = getSession();
AgentContext agentContext = session.getAgentContext();

Session s = NotesFactory.createSession();
String stUNID = s.getEnvironmentString("UNID");
Database db = agentContext.getCurrentDatabase();

lotus.domino.Document Ldoc = db.getDocumentByUNID(stUNID);

System.out.println("Filling in a form");
try {
// we create a reader for a certain document
PdfReader reader = new PdfReader("C:\\Temp\\itext\\CN23template withFields.pdf");
// filling in the form
PdfStamper stamp = new PdfStamper(reader, new FileOutputStream("C:\\Temp\\itext\\regis tered.pdf"));
AcroFields form = stamp.getAcroFields();
String stFieldValue = Ldoc.getItemValueString("<имя поля>");
// здесь одно НО: если тип поля не String, то лучше используй s.evaluate("<формула, возвращающая результатом @Text(что-либо)>",Ldoc) - подробнее смотри в справке как организовать
form.setField("PostCode", "456211");
stamp.setFormFlattening(true); // это используешь только в случае, если в твоих полях нету русских символов.
stamp.close();
}
catch (Exception de) {
de.printStackTrace();
}
System.out.println("Completed");
}
catch (Exception e) {
e.printStackTrace();
}
}
}[/CODE]
Если русские символы все равно не отображаются, то в Acrobate в редактируемом поле попробуй повводить русские символы. Он должен сообразить и попросить из инета скачать пакет доп.шрифтов (около 4 мб)
Кстати, можно использовать профиль, в нем Rich text поле (туда складываешь шаблон), и считывать PDFReaderом напрямую оттуда! Java вещь отличная! i-text - ОЧЕНЬ мощная штука!
0
0 / 0 / 0
Регистрация: 09.07.2005
Сообщений: 209
20.08.2007, 08:53
не мог заниматься пдф из за других проблем вот вроде пока тишина, не подскажете где можно найти документацю IText. c описаниями класов. как можно например создать колонтитулы, таблицу.оформление ячеек.
0
0 / 0 / 0
Регистрация: 05.12.2006
Сообщений: 173
20.08.2007, 10:19
где можно найти документацю IText
http://itext.ugent.be/library/api/ - здесь описание классов
http://www.lowagie.com/iText/ - здесь много информации, вроде бы архив с API отсюда скачал, там же можно найти ссылки на архив с той же информацией как в 1 ссылке. На первом сайте тоже немало всего есть.
0
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
27.04.2010, 17:32
хочу добавить абстрактную модель :crash:...
на самом деле нужно будет создать XSLT и подсунуть FOP
ФОП нужен (желательно) 0.95 (иначе со шрифтами будете морочиться - генерить описалово)
http://gogs.info/2009/05/from-docbook-to-p...ing-apache-fop/
хотя там написано docbook - это детали, просто для этого типа ХМЛ есть готовый XSLT (превращения в ПДФ)
чтобы не указывать в параметрах (ФОПу) фонты и размер, можно сделать обертывающий XSL:

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?xml version=1.0?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version=1.0
xmlns="http://www.w3.org/TR/xhtml1/transitional"
exclude-result-prefixes="#default">
 
<xsl:import href="здесь д.б. путь к вашему XSL-FO"/>
 
<xsl:param name="paper.type" select="A4"/>
<xsl:param name="body.font.family">TimesNewRoman</xsl:param>
<xsl:param name="title.font.family">Arial</xsl:param>
<xsl:param name="monospace.font.family">CourierNew</xsl:param>
<xsl:param name="sans.font.family">Arial</xsl:param>
<xsl:param name="dingbat.font.family">TimesNewRoman</xsl:param>
<xsl:param name="body.font.master">8</xsl:param>
</xsl:stylesheet>
параметры xsl выше специфичны docbook XSLT - показан принцип
читать про ФОП здесь: http://xmlgraphics.apache.org/fop/0.95/emb...#ExampleXML2PDF
0
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
21.06.2010, 17:57
ну вот проект, правда недореализованный: https://sites.google.com/site/lmiketonetwoodproject/
осталась сделать часть XSLT (но здесь может зависеть от задачи)
сложного ничего нет - время нужно ;):
-смапить параграфы ДХЛ - в ФОП
-смапить таблицы ДХЛ - в ФОП
-смапить атрибуты тескста в ФОП
0
0 / 0 / 0
Регистрация: 28.05.2005
Сообщений: 347
23.06.2010, 22:30
По проекту https://sites.google.com/site/lmiketonetwoodproject
Содержимое документа "о базе данных" itext_pdf.nsf

Проект создавался как пример работы под WEB с различными библиотеками JavaScript
1. Подключена в базу jQuery с примером работы с картинками.
2. Пример работы с prototype для валидации полей на форме.
3. Простейшая математическая капча.

Дальнейшее развтие проекта - примеры создания PDF в Notes на основе библиотек JavaScript
4. Пример работы itext с русскими шрифтами.
Файл itext java находится внутри агента и работает без настроек java среды Notes.
Во вью запустить агент CreatePDFcyrUI кнопкой
Файл создается в корне С:\CreatePDFInlotus.pdf и приаттачивается в новый док pdf-itext
5. Пример создания PDF с помощью FOP. http://xmlgraphics.apache.org/fop/
Идея: NetWood
Реализация: Imike

Этап 1: Настройка среды
1. Необходимо скачать FOP вот тут: http://archive.apache.org/dist/xmlgraphics/fop/binaries/
Мы брали самую свежую на это время версию fop-0.95-bin.zip
Создать C:\examples и в нее переписать все содержимое \fop-0.95\examples
2. Из архива поместить библу fop.jar (\fop-0.95\build) в папку C:\Lotus\Notes\jvm\lib\ext (для win)
На всякий случай все либы из папки \fop-0.95\lib поместить туда же в C:\Lotus\Notes\jvm\lib\ext
и перезапустить Notes.
Все, среда создана.

Далее работаем с агентом FOPbased. В нем подключаются русские фонты.
Док Notes выгружается через DXL в файл. Далее с помощью настроечного дока dxl2fo парсится в нужный нам формат.
Создается PDF и аттачится в новый док.

По состоянию на 6 июня 2010 из дока вытаскиваются данные в XML и далее парсятся через настроечный документ dxl2fo.xsl в PDF:
- неформатированный текст RTF поля
- ембеднутая из Excel таблица имедж
- приаттаченные в док имеджи jpg
Док создается под именем pdf-fo

Агент checkResolution. Информационный. Проверяет разрешение приаттаченных имеджей. Результать работы в консоли java (и в файле с расирением .log в каталоге c:\files)

Дальнейшие задачи (по состоянию на 24 июня 2010):
минимум
- "вытащить" в PDF картинку вставленную в RTF поле
- "вытащить" в PDF таблицу с данными из RTF поля
максимум
- сейчас формат выходного PDF задается форматированием вручную настроечного документа dxl2fo. Для наглядности
задать в качестве выходного формата PDF документ из Notes (расположение полей, картинки, текст и пр.) или исходную форму из файла PDF как шаблон или другие варианты...

Желающим присоединиться для развития LND to PDF (добавлять файлы, добавлять код в основную базу itext_pdf.nsf.zip ) необходимо бить челобитную администратору Imike
0
0 / 0 / 0
Регистрация: 10.09.2005
Сообщений: 560
11.04.2011, 14:09
import com.itextpdf.text.Document;

Document document = new Document();

Надо использовать уже имеющийся документ, а не создавать новый. Как?
0
0 / 0 / 0
Регистрация: 11.09.2009
Сообщений: 313
11.04.2011, 15:46
посмотрите тут
0
0 / 0 / 0
Регистрация: 10.09.2005
Сообщений: 560
11.04.2011, 16:02
Благодарю
0
0 / 0 / 0
Регистрация: 10.09.2005
Сообщений: 560
11.04.2011, 16:55
А добавить текст каким образом ?
0
0 / 0 / 0
Регистрация: 11.09.2009
Сообщений: 313
11.04.2011, 18:17
The PdfContentByte object has methods for adding all kinds of content to a PDF including text, graphics, images etc.


Code
1
2
3
4
5
6
7
PdfContentByte content = pdfStamper.getUnderContent(i);
 
content.setFontAndSize(BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, false), 20);
content.beginText();
content.showText("hvsdihsdihdihudihusdfihusdf");
content.endText();
content.stroke();;
0
0 / 0 / 0
Регистрация: 10.09.2005
Сообщений: 560
12.04.2011, 08:09
Да, это я уже нашел, спасиб за помощь.
А для использования кирилици нужен специальный БУБН, всмысле шрифт ?

Получается так что все буквы одна под одной, а как в строчку их поставить

есть такая вещь BaseFont.IDENTITY_H, а как ее применить ?



Вопрос решен с подключением шрифта.

BaseFont bf1 = BaseFont.createFont( "c:\\windows\\fonts\\arial.ttf" , "windows-1251" , true);
0
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
12.04.2011, 12:12
а может не изобретать велик ?
0
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
30.07.2012, 09:55
Тема PDF всегда будет актуальная, пока что-то новое не придумают...
Мне надо было в редактируемые поля pdf записать текст, даже если полю присвоить шрифт не работало, ну никак русские символы не отображались, только латиница.
Наткнулся на решение с русскими шрифтами:

Код (C++):
final BaseFont bf = BaseFont.createFont("c:\\TEMP\\MyriadPro-Regular.otf", "Cp1251", BaseFont.EMBEDDED);//BaseFont.IDENTITY_H
AcroFields form = stamper.getAcroFields();
form.addSubstitutionFont(bf);
Не смотрите, что файлик шрифта прописан на прямую, пробный вариант.
Шрифт можно выгружать программно и программно же подтянуть, главное, чтобы он содержал в себе символы кириллицы.
Win7 работает, на Mac только предстоит проверить (у нас их мало)

Если надо добавлять текст, то можно использовать второй параметр для:

Код (C++):
document.add(new Paragraph ("Create PDF In lotus ", BaseFont ));
Указываем объект BaseFont вторым параметром и текст добавляется нашим шрифтом.

Еще добавлю, только узнал сам:
addSubstitutionFont дообавляет шрифт в PDF, то есть он будет использоваться если основной шрифт не может отобразить символы.

Код (C++):
form.setFieldProperty(fldName, "textfont", BaseFont, null);
А вот это строчка для каждого интерактивного поля fldName, изменит его шрифт на наш BaseFont.
0
0 / 0 / 0
Регистрация: 16.11.2008
Сообщений: 308
09.08.2012, 14:49
Привет!
Пытаюсь скрестить lotus и itext.
В отладчике явы работает, в ява агенте работает, а через ls2j выдает ошибку the.document.has.no.pages
И как победить такое?

Пример с http://itextpdf.com/examples/iia.php?id=12:
<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">код</div></div><div class="sp-body"><div class="sp-content"><!--shcode--><pre><code class=java>/*
* This class is part of the book "iText in Action - 2nd Edition"
* written by Bruno Lowagie (ISBN: 9781935182610)
* For more info, go to: http://itextpdf.com/examples/
* This example only works with the AGPL version of iText.
*/

package part1.chapter01;

import java.io.FileOutputStream;
import java.io.IOException;

import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.PdfWriter;

/**
* First iText example: Hello World.
*/
public class HelloWorld {
/** Path to the resulting PDF file. */
public static final String RESULT = "results/part1/chapter01/hello.pdf";

/**
* Creates a PDF file: hello.pdf
*/
public static void main() throws DocumentException, IOException {
new HelloWorld().createPdf(RESULT);
}

/**
* Creates a PDF document.
* @param filename the path to the new PDF document
* @throws DocumentException
* @throws IOException
*/
public void createPdf(String filename) throws DocumentException, IOException {
// step 1
Document document = new Document();
// step 2
PdfWriter.getInstance(document, new FileOutputStream(filename));
// step 3
document.open();
// step 4
document.add(new Paragraph("Hello World!"));
// step 5
document.close();
}
}[/CODE]
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.08.2012, 14:49
Помогаю со студенческими работами здесь

Заполнение PDF форм средствами Java
Есть установленный формат (государтвом) PDF формы. Хочу сделать заполнялку таких форм из базы данных в целях ускорения процесса...

Бесплатный pdf viewer (java bean)
Привет. Прошу помощи. Нужна функциональность отображения pdf в разрабатываемой программе. Пытаюсь найти java bean для этих целей. ...

Отрисовка содержимого pdf файла в окне java
Уважаемые форумчане, вопрос следующего порядка: в сети нашел вроде как бесплатную бибилотеку на java для работы с pdf файлами, но вот...

render file.fo (>5Mb) to pdf java.lang.OutOfMemoryError
I have a problem with FOP &lt;p&gt; When I trying to render file.fo (&gt;5Mb) to pdf I have an error java.lang.OutOfMemoryError &lt;p&gt; But at...

Инструментарий Java для считывания PDF файла в программу
Как прочитать pdf файл в программу?? Какие есть для этого инструменты java?? Можете привести фрагмент кода или пример чтения данных из pdf...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru