//создаем экземпляр объекта
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 в соответствии со спецификацией (само-убийство!)
будут вопросы, пиши лучше сразу на 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\\CN23templatewithFields.pdf");
// filling in the form
PdfStamper stamp = new PdfStamper(reader, new FileOutputStream("C:\\Temp\\itext\\registered.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 - ОЧЕНЬ мощная штука!