[{"id":"a0e184f5-60ef-4d4e-b394-f8f4edcec114","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"93511b60-fca4-41b8-b020-05e4164ce896","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"4d605a5e-03ea-465a-b508-46e0fdc00bb2","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"7f8bfa0e-4e84-42a7-b266-f57a0b76613d","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"1daa4a64-7a26-4dc4-997d-7a32f854e24e","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"1e8d2a58-6a92-44cd-859c-80fe3cf8b178","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"cefb7847-15cf-4a28-b387-a9f917df4ac2","tags":[{"product":null,"links":null,"id":"27b05819-810b-4ea2-b5ea-2857947ce8be","name":"New","color":"#ed7422","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"363d0118-e051-4c0d-a8dc-b5accdc2bdd0","tags":[{"product":null,"links":null,"id":"27b05819-810b-4ea2-b5ea-2857947ce8be","name":"New","color":"#ed7422","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"9af6025a-0aff-4f1c-96a1-ba5963a6e276","tags":[{"product":null,"links":null,"id":"27b05819-810b-4ea2-b5ea-2857947ce8be","name":"New","color":"#ed7422","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"043663ed-1d7c-4ada-817f-e1fbbbcfd1b0","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"c650c110-7c1d-4741-9f66-2b17c24c246c","tags":[{"product":null,"links":null,"id":"27b05819-810b-4ea2-b5ea-2857947ce8be","name":"New","color":"#ed7422","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"69ec27be-f154-48cd-9528-900e7213be7b","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"9add3481-4b5f-4dd1-8aa5-9ac0af2dc370","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"9afb798a-3f20-4119-986c-9f0784f7832e","tags":[{"product":null,"links":null,"id":"27b05819-810b-4ea2-b5ea-2857947ce8be","name":"New","color":"#ed7422","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"8bcc63b0-d3af-4c7b-9c47-a10dbcf069b3","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"af01f907-2b5e-4d37-9762-da184cd81eab","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"5ca5da9d-8fd1-413b-8b1b-a96f170ab7a9","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"82a730d7-f274-4ed2-8ec6-9b8164e6d361","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"34858227-e4e3-46be-8c09-d86ce6655bde","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"e6490625-6787-4a30-a8bb-c6ea7823f52a","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"249eddd5-1fc3-4bbe-881a-01f4362136c4","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"cceb97e0-c2dc-408d-9ef7-855d239ff5a6","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"45a6742e-d26a-4493-b53a-73a4c56b9d7d","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"b8b1497d-23ad-432b-9dfa-04ea67781e23","tags":[{"product":null,"links":null,"id":"27b05819-810b-4ea2-b5ea-2857947ce8be","name":"New","color":"#ed7422","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"e4ac0ae4-88c1-4f71-9a5d-d226e0a6ffd5","tags":[{"product":null,"links":null,"id":"27b05819-810b-4ea2-b5ea-2857947ce8be","name":"New","color":"#ed7422","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"5ac1be92-f358-4867-a9ff-7c86977c19aa","tags":[{"product":null,"links":null,"id":"7fcf2480-6c1f-4a24-a5be-35a201d1532b","name":"upd","color":"#7e678a","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"21dd979a-80f7-4621-afa9-831a991d367d","tags":[{"product":null,"links":null,"id":"27b05819-810b-4ea2-b5ea-2857947ce8be","name":"New","color":"#ed7422","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]},{"id":"fe1a54f1-ac2e-4f03-a87a-91cbf39c5a0f","tags":[{"product":null,"links":null,"id":"27b05819-810b-4ea2-b5ea-2857947ce8be","name":"New","color":"#ed7422","productId":"486064ee-5a7c-4d44-b127-1e19810242b2"}]}]
보고서 실행 섹션에서 언급했듯이 PageReport
인스턴스의 run
메서드를 호출하면 PageDocument 클래스의 인스턴스로 실행되는 Promise 객체가 생성되어 보고서 출력을 인쇄하고 내보낼 수 있습니다.
보고서 출력을 인쇄하는 프로세스는 보고서를 HTML로 내보내고 브라우저에 내장된 인쇄 미리 보기 UI에서 결과를 여는 방식으로 수행됩니다. PageDocument 클래스
의 print
메드는 이 프로세스를 용이하게 하며 세 가지 선택적 인수를 옵션으로 제공합니다.
renderOptions
– 인쇄의 경우, undefined
으로 설정할 수 있습니다.
onProgress
– 보고서의 각 페이지가 HTML로 렌더링된 후 호출되는 콜백 함수입니다. 렌더링된 페이지 수에 해당하는 단일 숫자 인수를 허용해야 합니다.
checkCancel
– 보고서의 각 페이지가 렌더링된 후 호출되는 콜백 함수입니다. 인쇄 프로세스를 중단해야 하는지 여부를 나타내는 부울 값을 반환해야 합니다.
이러한 선택적 인수인 onProgress
와 checkCancel
을 활용하여 인쇄 작업의 진행 상황을 표시하고 Cancel
버튼 클릭과 같은 특정 사용자 이벤트에 대한 응답으로 인쇄 작업을 취소할 수 있는 사용자 정의 사용자 인터페이스를 구현할 수 있습니다. 아래 코드는 보고서를 인쇄하고 진행 상황에 대한 정보를 콘솔로 보냅니다.
import {Core} from "@mescius/activereportsjs";
const report = new Core.PageReport();
await report.load(`assets/Products.rdlx-json`);
const document = await report.run();
document.print(undefined, x=>console.log(`${x} pages ready`), ()=>{
return false;
});
ActiveReportsJS API
를 사용하면 보고서 출력을 각각 PdfExport
, HtmlExport
, 그리고 TabularDataExport
개체를 제공하는PDF
, HTML
또는 CSV
문서로 내보낼 수 있습니다.이들 모두는 Core 라이브러
의 일부입니다.
import {
PdfExport,
HtmlExport,
TabularDataExport,
} from "@mescius/activereportsjs";
각 내보내기 개체는 다음 네 가지 인수가 있는 exportDocument
메서드를 제공합니다.
source
– 위에서 설명한 PageDocument
클래스의 인스턴스입니다.
settings
– 내보낸 문서의 설정입니다. 이 인수는 각 내보내기 유형에 따라 다릅니다.
PDFExport.exportDocument
는 PdfSettings object 을 허용 합니다.
HtmlExport.exportDocument
는 HtmlSettings object 을 허용 합니다.
TabularDataExport.exportDocument
는 TabularDataSettings object 을 허용합니다.
onProgress
– 보고서의 각 페이지를 내보낸 후 호출되는 콜백 함수입니다. 내보낸 페이지 수에 해당하는 단일 숫자 인수를 허용해야 합니다.
checkCancel
– 보고서의 각 페이지가 렌더링된 후 호출되는 콜백 함수입니다. 내보내기 프로세스를 중단해야 하는지 여부를 나타내는 부울 값을 반환해야 합니다.
exportDocument
메소드는 각 내보내기 유형에 특정한 결과로 이행되는 Promise 객체를 반환합니다:
PDFExport.exportDocument
는 download
메서드를 사용하여 결과를 다운로드하거나 Blob 유형의 data 속성을 사용하여 결과를 저장할 수 있도록 하는 PdfExportResult 객체로 약속을 이행합니다.
HtmlExport.exportDocument
는 HtmlSettings
의 multiPage
속성 값에 따라 download
메서드를 사용하여 결과를 다운로드하거나 string
또는 Blob
인 data
속성을 사용하여 결과를 저장할 수 있는 HtmlExportResult 객체를 사용하여 약속을 이행합니다.
TabularDataExport.exportDocument
는 TabularDataSettings.csvSettings
의 outputType
속성 값에 따라 download
메서드를 사용하여 결과를 다운로드하거나 string
또는 Blob
인 data
속성을 사용하여 결과를 저장할 수 있는 TabularDataExportResult 객체를 통해 약속을 이행합니다.
다음은 각 내보내기 유형에 대한 코드 예제입니다.
import {
PdfExport,
HtmlExport,
TabularDataExport,
} from "@mescius/activereportsjs";
async function exportPdf(document: PageDocument){
const pdfSettings: PdfExport.PdfSettings = {
info: {
title: "Product List"
}
}
const result = await PdfExport.exportDocument(document, pdfSettings);
result.download("products.pdf");
}
async function exportHtml(document: PageDocument){
const htmlSettings: HtmlExport.HtmlSettings = {
title: "Product List",
multiPage: false
}
const result = await HtmlExport.exportDocument(document, htmlSettings);
result.download("products.html");
}
async function exportCSV(document: PageDocument){
const csvSettings: TabularDataExport.TabularDataSettings = {
csvSettings: {
colSeparator: ","
}
}
const result = await TabularDataExport.exportDocument(document, csvSettings);
result.download("products.csv");
}
async function onExport(){
const report = new Core.PageReport();
await report.load(reportUrl);
var document = await report.run();
exportHtml(document);
exportCSV(document);
exportPdf(document);
}