создание вообще. пробовал поили создание плагина вообще?
Ссылка скрыта от гостей
ссылке, но то ли гранаты (клиент) у меня не той системы (версии, 9.0.1), то ли англицкий язык не родной...Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе
создание вообще. пробовал поили создание плагина вообще?
Для начала попробуйте это:создание вообще. пробовал поСсылка скрыта от гостейссылке, но то ли гранаты (клиент) у меня не той системы (версии, 9.0.1), то ли англицкий язык не родной...
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import fr.opensagres.xdocreport.converter.ConverterTypeTo;
import fr.opensagres.xdocreport.converter.ConverterTypeVia;
import fr.opensagres.xdocreport.converter.Options;
import fr.opensagres.xdocreport.core.XDocReportException;
import fr.opensagres.xdocreport.document.IXDocReport;
import fr.opensagres.xdocreport.document.registry.XDocReportRegistry;
//import fr.opensagres.xdocreport.samples.docxandvelocity.model.Project;
import fr.opensagres.xdocreport.template.IContext;
import fr.opensagres.xdocreport.template.TemplateEngineKind;
public class DocxProjectWithVelocity2PDF {
public static void main(String[] args) {
try {
// 1) Load Docx file by filling Velocity template engine and cache
// it to the registry
InputStream in = DocxProjectWithVelocity2PDF.class
.getResourceAsStream("ADD1_Приложение об услугах_.docx");
IXDocReport report = XDocReportRegistry.getRegistry().loadReport(
in, TemplateEngineKind.Velocity);
// 2) Create context Java model
IContext context = report.createContext();
class Project{
String name="";
public Project(String s){name=s;}
public String getName(){return name;}
}
Project project = new Project("XDocReport");
context.put("comments", project);
context.put( "comments", "aaa\tbbb\nccc\n\nddd\n\teeee\n\t\tfff\n\nggg\t\thhh" );
// 3) Generate report by merging Java model with the Docx
OutputStream out = new FileOutputStream(new File(
"DocxProjectWithVelocity_Out.pdf"));
// report.process(context, out);
System.out.println("Genarate");
Options options = Options.getTo(ConverterTypeTo.PDF).via(
ConverterTypeVia.XWPF);
System.out.println("Convert");
report.convert(context, options, out);
System.out.println("Done");
} catch (IOException e) {
e.printStackTrace();
} catch (XDocReportException e) {
e.printStackTrace();
}
}
}
Const HSSFCELL_CLASS={org/apache/poi/hssf/usermodel/HSSFCell}
Const CELLREF_CLASS={org/apache/poi/ss/util/CellReference}
Const SXSSFWORKBOOK_CLASS={org/apache/poi/xssf/streaming/SXSSFWorkbook}
Const SSCELL={org/apache/poi/ss/usermodel/Cell}
Const SSROW={org/apache/poi/ss/usermodel/Row}
Const SSSHEET={org/apache/poi/ss/usermodel/Sheet}
Const SSWORKBOOK={org/apache/poi/ss/usermodel/Workbook}
Const CALENDAR_CLASS={java/util/GregorianCalendar}'{java/util/Calendar}
Class ReportExcel As ReportObj
Private SXSSFWorkBook As Javaclass
Private CALENDAR As Javaclass
Private cellStyle As Javaobject
Private createHelper As Javaobject
Private dateObj As Javaobject
Private wb As Javaobject
Private sh As Javaobject
Private FileOS As Javaclass
Private FileOSObj As Javaobject
'Private bosClass As JavaClass
'Private bos As Javaobject
Private bClosed As Boolean
Private sPath As String
%REM
*--------------------------------------------
Sub New
Description: Comments for Sub
%END REM
Sub New(sPath As String)
Dim routineName As String
routineName="New"
On Error GoTo ErrH
'your code here
Set me.CALENDAR=jSession.GetClass(CALENDAR_CLASS)
Set me.dateObj=me.CALENDAR.Createobject()
Set FileOS = jSession.GetClass(FILEOUTPUTSTREAM_CLASS)
Set FileOSObj= FileOS.CreateObject({(Ljava/lang/String;)V}, sPath)
' Set me.bosClass=jsession.Getclass(BUFFEREDOUTPUTSTREAM_CLASS)
' Dim s As String
' s={(L} & OUTPUTSTREAM_CLASS & {;)V}
' Print {output stream class>}s
' Set me.bos=me.bosClass.Createobject(s,me.FileOSObj)
Set me.SXSSFWorkBook = jSession.GetClass(SXSSFWORKBOOK_CLASS)
'keep 100 rows In memory, exceeding rows will be flushed To disk
Set me.wb = me.SXSSFWorkBook.CreateObject()'("(I)V", SXSSF_BUF)
Set me.cellStyle = me.wb.createCellStyle()
Set me.createHelper = me.wb.getCreationHelper()
Call me.cellStyle.setDataFormat(me.createHelper.createDataFormat().getFormat(CS_DATEFORMAT))
wb.setCompressTempFiles(True)
Set me.sh=me.wb.createSheet()
sh.setRandomAccessWindowSize(SXSSF_BUF)
me.sPath=sPath
Quit:
Exit Sub
ErrH:
Error Err, RaiseError
Resume Quit
End Sub
Dim row As Javaobject
Set row=me.sh.createRow(me.crow)
Dim i As Integer
ForAll col In xRow.Columns
Dim v
v=col
If DataType(col)=V_VARIANT Then v=Join(col,VAL_SEP)
Call Me.newCellValue(row,v,i)
i=i+1
End ForAll
Function newCellValue(row,xVal,ccol)
Dim routineName As String
routineName="newCellValue"
On Error GoTo ErrH
'your code here
Dim cell As Javaobject
Set cell=row.createCell(ccol)
Dim celltype
celltype=cell.CELL_TYPE_STRING
'Print {DataType>} TypeName(xVal)
If IsNumeric(xVal) Then celltype=cell.CELL_TYPE_NUMERIC
If IsDate(xVal) Then
'Dim dt As New NotesDateTime({})
'dt.Lslocaltime=xVal
Call me.dateObj.set(Year(xVal),Month(xVal),Day(xVal))
Call cell.setCellValue(me.dateObj.getTime())
Call cell.setCellStyle(me.cellStyle)
Else
If Not IsEmpty(xVal) Then
Call cell.setCellType(celltype)
Call cell.setCellValue(xVal)
End If
End If
'Print {Cell type>} celltype
newCellValue=xVal
Quit:
Exit Function
ErrH:
Error Err, RaiseError
Resume Quit
End Function
к чему этот ответ?Отвечу сам себе... Все варианты решения из интернета не срабатывали.
Посмотрел, что заставляет тормозить excel при открытии файла через Process Monitor - там было огромное количество обращений к драйверу принтера. Удалил принтер и все стало летать. Пока, конечно, это временное решение.
вариантов несколько...@lmike
Есть ли какой-то простой вариант вставить содержимое вордового документа в RTF, по аналогии с NotesUIDocument.Import?
И как вообще это сейчас делается, через DXL?
"не-не-не, Дэвид Блэйн, не хотим"Хозяйке на заметку (может быть уже баян, но сам недавно обнаружил)
Ссылка скрыта от гостей
Обучение наступательной кибербезопасности в игровой форме. Начать игру!