Skip to content

Commit

Permalink
Initial documentation for Node.js product
Browse files Browse the repository at this point in the history
  • Loading branch information
yevgen-nykytenko committed Sep 7, 2023
1 parent d6596b2 commit 2755300
Show file tree
Hide file tree
Showing 34 changed files with 2,863 additions and 1 deletion.
1 change: 1 addition & 0 deletions .github/workflows/publish-prod.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ jobs:
mkdir -p common/content/${{ env.PRODUCT }}
cp -r java common/content/${{ env.PRODUCT }}
cp -r net common/content/${{ env.PRODUCT }}
cp -r nodejs-java common/content/${{ env.PRODUCT }}
cp _index.md common/content/${{ env.PRODUCT }}
hugo --source common --minify --config config-geekdoc.toml,ignore-total-config.toml,show-feedback-config.toml
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/publish-qa.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ jobs:
mkdir -p common/content/${{ env.PRODUCT }}
cp -r java common/content/${{ env.PRODUCT }}
cp -r net common/content/${{ env.PRODUCT }}
cp -r nodejs-java common/content/${{ env.PRODUCT }}
cp _index.md common/content/${{ env.PRODUCT }}
hugo --source common --minify --config config-geekdoc.toml,ignore-total-config.toml,show-feedback-config.toml --baseURL 'https://docs-qa.groupdocs.com/'
Expand Down
1 change: 1 addition & 0 deletions build_docs.cmd
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ call git submodule update --init --recursive
call git submodule foreach git pull origin master
xcopy java common\content\%PRODUCT%\java /s /e /Y /i
xcopy net common\content\%PRODUCT%\net /s /e /Y /i
xcopy nodejs-java common\content\%PRODUCT%\nodejs-java /s /e /Y /i
xcopy _index.md common\content\%PRODUCT%
cd common
call hugo server --config config-geekdoc.toml,ignore-total-config.toml,show-feedback-config.toml
2 changes: 1 addition & 1 deletion java/rendering-basics/render-word-documents.md
Original file line number Diff line number Diff line change
Expand Up @@ -258,7 +258,7 @@ import com.groupdocs.viewer.options.PdfViewOptions;
try (Viewer viewer = new Viewer("resume.docx")) {
// Convert the document to PDF.
PdfViewOptions viewOptions = new PdfViewOptions("output.pdf");
// Enable tracked changes rendering.
// Enable rendering comments.
viewOptions.setRenderComments(true);
viewer.view(viewOptions);
}
Expand Down
97 changes: 97 additions & 0 deletions nodejs-java/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
---
id: home
url: viewer/nodejs-java
title: GroupDocs.Viewer for Node.js via Java
linkTitle: GroupDocs.Viewer for Node.js
weight: 1
description: "GroupDocs.Viewer for Node.js allows you to render documents in various formats as HTML, PDF, JPEG, and PNG files. You do not need to use third-party software to view files within your JavaScript application."
keywords: render files, view files, HTML, PDF, JPEG, PNG
productName: GroupDocs.Viewer for Node.js via Java
hideChildren: True
fullWidth: True
---
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAABNWlDQ1BJQ0MgUHJvZmlsZQAAeJxjYGAyYYCC3LySoiB3J4WIyCgF9nsMbAwsDIIM2gwWicnFBQyYgBHB/HYNwrusi0UdIcCVklqcDKT/AHFlUnZBCdDoCiBbpLwEzO4BsZMLikDsBUC2aBHQgUD2DpB4OoR9BsROgrAfgNhFIUHOQPYXINshHYmdhMSG2gsC8sUgj3u6OpsZWpqZ6RrpGiok5SQmZysUJyfmpKaQ4SsCABTGEBazGBAbMzAwLUGIIcKzJLWiBMRyKcovSMqv0FHwzEvWQ9Gfv4iBweIr0IwJCLGkmQwM21sZGCRuIcRUgGHH38LAsO18cmlRGdQZUkB8lPEMcxLrZI5s7m8CDqKB0iaKHzUnGElYT3JjDSyLfZtdUMXauWlWzZrM/XWXD740//8fAIFJXKnGwiSOAAAUKUlEQVR4nO2deXhU1d3HP3cmM5mZhKwkZAGECBgMGhVlaUXcqSCCjyhirVuL1re1FdQWRUUBC1pB1Ke+r6V9wb4PxQ1FBReqLLZaAUGWxoZ9DyEhZJ9MZrvvHyehEO7M3FnuvZMwn+fJ88DcO+f85vx+995zz/md75EIwK+Kz+PXxcWBDsc7mcAA4DygGCgCegDZbX92IAno1nZ+I+AFWoCatr9jwF6gHNgB7ARqdfsFGvJyeTmvlO8AQFI6YdqgEib366erUVGQD1wO/AC4BOHwXI3qqkIExGbga+AfwFGN6tKUhbt2M7es7MwAmFZSwuT+ce38ZGAk8CPgBoTDjaQc+AT4FFgHtBprjnr+uGvX6QHwcHExDxWfZ5Q9wbAA1wATgfFAhpHGBKEOWA68BXwBeIw0Rg0nA+CB/v35Tcn5RtqixLnAT4G7gQKDbQmXCuAN4M/AHoNtCYgEMK5XT+YNHqzcITCGq4BHgNEE6Kd0ImTgY2AesMZgW85AGp7TnUXDh2MxmYy2BeBGYAZwqdGGaMS3wEzgI6MNaUfaMmY03SwWo+24HpgFDDHaEJ3YADwFrDLaEJPBzu8HrAA+4+xxPojf+hmwEtEGhmHUfd8OzAHKgDEG2RAPjEa0wRxEm+iOEQFwJbAVmAZYDag/3rAi2mIrovOrK3oGQDIwH1gN9Nex3s5Cf8TYwXxEW+mCXgEwENHxmULnf63TEgnRRhsQbaY5egTAbYgfdKEOdXUVLkS02W1aV6RlAJiBF4A3gVQN6+mqpCLa7veIttQErQIgBXgHeIzELT8aJOBR4F1Em8YcLQIgF9HRu1mDss9WxiPaNObT3LEOgAJgLWfXoI5eDEG0bUwnxWIZAH0QCRK69F7PUgYi2rhPrAqMVQD0BP4G9I1ReQkC0xf4HNHmUROLAMhBTGrEdRpRF+NcxAWXE21B0QaAAzG1mbjt608xou0d0RQSTQCYgaXA0GgMSBAVQxE+iHicIJoAeAG4KYrvJ4gNNyF8ERGRBsCtiDHrBPHBFIRPwiaSABgI/C+JEb54QgIWAWFn9YYbAMkkxvbjlRREfyCsqeRwA2AOiVm9eOZCYG44XwgnAK4EHg6n8ASG8GvCyCxSGwB2YCGJ535nQAL+iMocQ7UBMIPESF9noh/CZyFREwADgKlRmZPACKYifBcUNQEwD7E4M0HnwoJIMA1KqAC4FrFcK0HnZAzChwEJFQCzY2dLAoN4LtjBYAEwlsRET1dgCMKXigQLgGdibkoCo3gm0IFAAXAlQm8nQdfgEoRPzyBQADyimSkJjELRp0oBUMTZvWK3qzIG4dvTUAqAn3G2DPlKEqbUVCSzZgtv4gkJmHzGh3vGjzv1/0nAISBPJ6O0xWTC2rMnll69sJ5zDtZevbAUFGJOS8Ocng7S6XHudzrx1dbiPV6N+8BB3IcP4d6/H/ehQ8gul0E/IqZUAr0QopiAcPipXEcnd745PR3HkKE4Bg/GPmgQphT1K6pMDgcmhwNLYSH20otOfi57vbTu3Inzu+9wrv8G96FDGliuC3kIOZ6P2z/oeAdYBNyjr03RI5nNOIYOo9vVV+O4+GLQWPDKfeAAjau/oGnNGnyNjZrWpQGLgXvb/3NqACQjbhEZupsUIVJyMumjR5N+41jMWVm61y+73TSuWUPdsnfxVlfrXn+E1CHuBK1wegBcjxAuinukpCTSRo0iY8IEzBmZRpuD7PXS8Nmn1L27DF9dp9CTHkWbQllShw/jHvtFF9H95w9i6dEjsgL8fnwN9fgaGpE9HvwtLZhsNjCZTnYOpTCV06SkJNLH3Ei3a66l9s2lNKxYgezzRWafPpwMgFPvAP/GeOHlgJjT0si+9z5Sr7xS9XdkjxvXjp24vv8e9769uA8cwFtdjez1Bv6SJJGUlYWlsBBr377YigdiO/98zGlpqutt3bOH46/9gda9e1V/R2fKaVvN1R4ABcARIy0Khv2CC8idOlXV7V72eHBu3EDjunW0bN2K3BoD8W5JwjZgACmXX07qiCvEK2QoO3w+av+6hLr33wdZjt6G2NMTONIeALcjUorjC0ki89ZbyZx4e8ievbe6mvoPltO4bh3+pibtTDKbcVx6KenjxmMbGHpJpPPbb6la8BL+5mbNbIqQScCb7QGwAJFNGjdIViu5U6aSMmxY0PO8x45R+/ZbNK1bp+q5a0pNxX5hKcn9+2HJycWUmoq/1YXvRC3ufXtp2bYNT2WlKhttJSVk3j4J+6BBQc/zHD1K5axZeI5WqCpXJ14GHm4PgK+B4cba8x/MaWnkTX+S5AGBU9pkl4vaZcuo//ADZLc7ZJnWPn3IuOUWUoYOC9nJc5WXU7/8fZrXr1dlb8qwYWTfex9JuYEVXHwNDRz73XO4duxQVaYOfAVcLu0ZP04C6vnP/jmGYs7KomDWbCwFgZVQXN9/T9UrL+M9dixkeZLFQtadPyFtzJiwx/xbtm+j+tVXVb3jS8nJZP3kLtJHjz5jiLkdubWVyrlzaNmyJSw7NKIRSJf2jB/XF7E5kuEkZWeTP3NWQOeH27FScycJha+xUVy55eWqzreXXkTulCkBO4qy203lnN/FSxAUmYhgQaEWmNPSyJ8V2Pm+hgYqZz5L3XvvqXK+yeEgf+asqJwPYO7WjfxnnlVdTsvWLRx5ZCqtu3cpHpesVvIefwL7BXGxwu58EzEUHIoUKTmZvOlPYslXdr63upqKab+lZds2lQVK5D7yKNZzzomdfY8/rnrU0VtTQ8X06Tg3bVIuz2qlx7RpMbMvCvoYHwCSRO7UqQGvMM+xY1RMfwLPUfW7s3W79jocl8Q2o82ckUn3B+5Xfb7sdnNs7hyav/mn4nGTw0Hek0+FNcCkAX1MgKFhmDlxIilDlJOPPUcOU/HE42FNtEhWK1l33KHqXE9lJS3bt+Petw/8/pDnpwwbjq1YvRyS7PVS9eKLNH35peLxpO7dyZ06VfPZyyD0SQK6G1W745JLyLxtouIxz9GjVEyfjq++PqwyU0eOxJyREfScli1bqHljMe79+09+Zk5LI+OWW0gfe1PAXjxA+tixuMr/rdoe2eej6uUFmGw2HEPO1M+0l15E1qRJnFiyRHWZMSTbRAykxiLBnJlJzq8fVmxsf3MzlbNmhu18gNQRI4Ieb/z8c47OfPY054PoZNYsWkTV/PlBO5mOyy7DZA9zcw+/n2Pz59G6c6fi4YxbJuAYbMg+WTkmDLoD5Dz4X8rPP1mmat68sJ757UgWS9BbtKeiguOv/09QBzf94+80rAo8Kx6qjkDIra1UzpmD78QJhUIlcn75C0ypuguvZJswYK+a1BEjcFx2meKxuvffw/nd5ojKtRQWBh3lq1/xUfCZwPbzli8PejzS3ruvrpaqBS8pBqA5I5Ps+34aUblR4DChoRa9EqaUFLJ/dkZyKgCte/dQuzTyOalQz35XWZmqcjyVlXhragLXkxl5EkrL9u3UfbBc8Vi3q67CXloacdkRYDahs+CTbeDAgK8+DStXqrpCAyGZO+a4no4/jMxeuaUlcD3W6Pa6ql++POBjKGWYrlMyqbq/fzg3bQo4rJoxYQKSzRZx2XJrcAcndVfZ3ZGkoDmG/uboppvTbxyr/Kbh99Pwycdnfq4hJkC7yXMlZJnj//2a4tStJb+A7LvvibhoT4jJIbVXl720FJMjsARvNAmgloIC0seNUzzW+MUXuA8ejLjsCGgyAbonr7kPHqTuvWWKx9JGjQqZAxAI7/HjQZMy00aNCjjc3I6UlET2XXcHPad1l/I4f0hMJnJ+8UvFjqrscnFi6V8jKzdyfCYg8MNOQ+reeUeMwHVEksh56FdYekYghy/LODcFfoOQrFbyZszAUliofNxmI/exx7D2DbztgbemhlYlu1WQOXEitvOV595OLFmCr1b3jGKnCTiud60gcveOzZ+nmLNncjjIe2J6ROPkjV98HvS4pUcPes5/iex77sVWUoKlRw+Si4pIH3MjvV55NeCw9MnyV38RUY6ffdAgMicoy/m6ysqoX7ki7DJjQI20Z/y41RiwZWk7qVdcQe4UZRGy1r17OfrUk/idzrDKLJj9HLaSkliYdxp+p5NDD/4cX0NDWN+z5OdTMPd5xYD2u1wcmfKw6jS0GLPGsDtAO01ffkn9io8UjyUXFZE/Y0ZY6/sAjv9pYVSvk4GoXbo0bOeb09PJe+rpgHezE28sNsr5ADUm4IBRtZ+0YtEinBs2KB5LHnAe+TNnhRzkORX3/v2cWLw4Nsa10bxhfdi3aXNamshwys9XPN705ToaPv00FuZFyn4TsN9IC4CQkyXJRUUUzJmLtVcv1UXWr1xB3bvvxMQ8V/m/Q04SdSQpJ4f82c9h7d1b8bh73z6qX3stJvZFQZwEAG2TJbNnnTFL144lL4+C518gZah64bITS5ZQ8+c/R7VMq/mrrzj6zDNhLTBJLjqXwudfCBiw3uPHqXxudmwWrUTH/rhKCoX23MDZAa8cZJmGzz6jZvEi1Q2YXHQu3R+4n+QB56m2w3fiBDX/9xea1q5V/R2AbtdcQ/fJ9yMlK8v2+xoaqJj224hmOzWgKO7SwkEkYuY9/TTJ/foHPMdz5AjHX3+dlu0q8wQRC0vTrr0O+8UXK470yT4freXlNK5bR9Patcie0OsNTtqcmUn3yfeTMjzwaKO/qYmjM56OlzWDJ9PCIc4WhgCYbDZyH30Mx+DBQc9r/vorat54A29VVRiFm7DkF2DJyxNXqteL90QN7sOHw5aCkcxmul1/PVk/vjPo24qvrpajz56ZiGIgJxeGQBwuDQPAZCLrx3eScfPNQdO0ZJ+PprVrqXtvGZ4KfZZfSWYzqVdcQcattwXs5bfjPniQyt89p2ohi46ctjQsPheHtpEydCg5D/0q9HiALOPcvJnG1atxbtwY1i1cLUk5OXS76iq6XXNt0KVg7TRvWE/1Sy+FNRWtE6ctDi0EDhtrT3AsPXrQ/ZcPhVyI2Y7f6cT57UacmzbjKvtX0ASPoEgS1t69sZeW4rhsCPaSkqB3o3Zkj4faN5d2muXhEOcCEQBIEmnXXUfW3fcEna5VwltdjfvAATxHjuCpqsLf2IDf5UJ2ufA7nZhSUzHZ7Ug2G+a0dCx5PbD06k1y375hj0S69++n6uUF8fS878hJgYhTU2g+Id4DQJZpWLWK5o0byZo0idSrr1G94DMpJ4eknBy4VLvsW39zM7XvviMkYjQYio4hn7T/o1OKRLVjKSggc9IdpP7wh6puy1ohe700fLySumXLwp4rMAhFjaBOJxPXjqWwkPQxN5I6cmTYj4Zo8Dc10bBqFfUrVyine8cndQSQiQMhIhg8HSaOkaxWUoYNJ3XECOylFyJZokveVEL2uGn5bgtN//g7zd98g+zxxLwOjXmDU8RAOwbAaGClzgZpgslmw1YyCPsFF2At6ou19zmqxJ064m9qwn3gAK1799KyfRuu7dvj8ZUuHMYQRCq2a4lFd8Ccno619zkk5eZgzsgU2sC2ZEiygN+P3+lEdrnw1tWKt4aDBzvTrV0NlUBv4ORtq2MivRfxGJimn0364auvD2vuoAuymFOcD8r7BSwE4nLkIkFUyMCfOn6oFAB7OeUZkaDL8Amwp+OHgVYGvaitLQkM4PdKHwYKgLVAZEt0E8QjmxE+PYNgawMTu4Z2HQL6MlgALAe+i7kpCfTmO4QvFQkWADJd9HXwLONxgrzVhVoevoouMjJ4lrKSEBN8avQBHqHD4EGCToEHeDTUSWoCYAcwP2pzEujNS4jEj6CoVQh5FtgdlTkJ9GQ3Knd/VxsALcD9JIaIOwMywleqdB/C0Qhag0glThDfvILwlSrCFYmaBpzV02lxzjbCfHUPNwBaEfnk+gpLJVBDM8I3YWWrRCIT9z1wH4n+QLxxH8I3YRGpTuA7iNeMBPHBfODtSL4YjVDkb4APo/h+gtjwIcIXERFNAPgQzxx1e6sl0IL1CB9ErIARrVSsExiLihGnBDFnB6Ltw5NQ60AstIKrgetQSDdKoBl7gWsRbR8VsRKLPowIgsgkNBOEwz6E82OymjuWauH7gMtJPA60pBwYQQwvtFjLxVcAI4GNMS43gWjTkcCRWBaqxX4BVQjp2eUalH228gGiTcMQQlKHVhtGNAMTSKSXx4IXgVsQbRpztNwxxAc8htAfSswdhE8Tou0eQ8M9HUyN2i9vfgsYBmzXuqIuxHaEbN9bWldkenDDBjwqtk2NkjJgCEKOLjGJFBgZ0UZDgH/pUaEEMK5XT+YNHoxOIitXA68D/fSprtOwG3gAWK1npSaADw4d5vdlYc8kRspq4EJgLhB7Ib/Ohxt4HtEmujofOP2if7i4mIeK1Qsqx4D+iBSmH+lZaRzxKUKhVVknXwdOewtYUF7Owl26Jv/uAm5AqFadTYNHGxG/+QYMdP7CXbvPfA2cW1bGwt26Z4CvQnR8bgI26V25jmxC/MahtMm0GcXC3buZW1YWuN9nwOPgVK5CrEgaDXr1TTVDRghuzCOMbF0tebV8Bwvadm8N2rh3FRXx1AWDMBknwnguMBm4CwguyR1/VCIk2RYSJ1PlMjBz23b+csp+BSE9e0NBAS8OvgSbSklWjbAgpptvA8YRv2KWdYhx+7eBvxFHaypdPh+PbtrMJx3k9FVd2qWZmbw+dCg5NuVtUHQmGTEr9iNEJ8pofeNyhP7Op8A62hQ444lqVysPrF/PVoWdSVXf2wvsdhYOH0ZxBLt5akwh8IO2v8GIgMjRqK5qhMM3IXZZ+ZoYT8/GmvKGBib/8xsqWpRXioX1cLebzcy6qJSbw9i+zSAygQGIYDgPKEKIX2a3/dkQd5J2YWEn4sp1ATVtf5WI1KsdCKfvBHTf3Dca3j90iKe2bKUlyK5p/w9m6w1Xzjs4fQAAAABJRU5ErkJggg==" alt="groupdocs-viewer-java-home" align="left" style="width:110px; margin: 0 30px 30px 0"/>

<dt class="flex flex-wrap align-center gdoc-props__meta">
<a href='https://www.npmjs.com/package/@groupdocs/groupdocs.viewer/v/23.8.0'>
<span class="gdoc-props__tag tip">Latest version 23.8.0 (August 2023)</span>
</a>
</dt>

{{< button style="primary" link="https://releases.groupdocs.com/viewer/nodejs-java/release-notes/" >}} <svg class="gdoc-icon gdoc-product-doc__btn-icon"><use xlink:href="/img/groupdocs-stack.svg#document"></use></svg> Release notes {{< /button >}}
{{< button style="primary" link="https://www.npmjs.com/package/@groupdocs/groupdocs.viewer/" >}} {{< icon "gdoc_download" >}} Package repository {{< /button >}}

GroupDocs.Viewer for Node.js is a powerful, high-performance, and cross-platform library that allows you to build desktop and web [file viewer applications](https://en.wikipedia.org/wiki/File_viewer).

GroupDocs.Viewer supports over [170 popular file formats](/viewer/nodejs-java/supported-document-formats). Load text documents, spreadsheets, presentations, PDF files, web pages, email messages, and images and render/display them in HTML, PDF, PNG, and JPEG formats. You can render the entire document or specific pages.

GroupDocs.Viewer ships with a wide range of options that allow you to control the rendering process and customize the output files. For example, you can protect the output PDF file and reorder its pages, generate responsive HTML pages, adjust the size and quality of output images, add text watermarks, and cache the results.

------

{{< columns >}}
<p><b>About GroupDocs.Viewer</b></p>
<hr><p>OVERVIEW</p></hr>
<ul>
<li><a href='{{< ref "/viewer/nodejs-java/product-overview.md" >}}'>Product overview</a></li>
<li><a href='{{< ref "/viewer/nodejs-java/getting-started/features-overview" >}}'>Main features</a></li>
<li><a href='{{< ref "/viewer/nodejs-java/getting-started/supported-document-formats.md" >}}'>Supported file formats</a></li>
</ul>

<p>GET STARTED</p>
<ul>
<li><a href='{{< ref "/viewer/nodejs-java/getting-started/system-requirements.md" >}}'>System requirements</a></li>
<li><a href='{{< ref "/viewer/nodejs-java/getting-started/installation.md" >}}'>Installation</a></li>
<li><a href='{{< ref "/viewer/nodejs-java/getting-started/licensing-and-subscription.md" >}}'>Licensing</a></li>
</ul>

<--->

<p><b>Developer Guide</b></p>
<hr><p>RENDERING BASICS</p></hr>
<ul>
<li><a href='{{< ref "viewer/nodejs-java/rendering-basics/render-word-documents.md" >}}'>Render Word documents</a></li>
<li><a href='{{< ref "viewer/nodejs-java/rendering-basics/render-spreadsheets/render-excel-and-apple-numbers-spreadsheets.md" >}}'>Render spreadsheet files</a></li>
<li><a href='{{< ref "viewer/nodejs-java/rendering-basics/render-presentations.md" >}}'>Render presentations</a></li>
<li><a href='{{< ref "viewer/nodejs-java/rendering-basics/render-pdf-documents.md" >}}'>Render PDF files</a></li>
<li><a href='{{< ref "viewer/nodejs-java/rendering-basics/render-web-documents.md" >}}'>Render web documents</a></li>
<li><a href='{{< ref "viewer/nodejs-java/rendering-basics/render-text-files.md" >}}'>Render text and code files</a></li>
<li><a href='{{< ref "viewer/nodejs-java/rendering-basics/render-images.md" >}}'>Render images</a></li>
</ul>

<p>HOW-TO GUIDES</p>
<ul>
<li><a href='{{< ref "/viewer/nodejs-java/developer-guide/loading-documents/loading-documents-from-different-sources/_index.md" >}}'>Load documents from different sources</a></li>
<li><a href='{{< ref "/viewer/nodejs-java/developer-guide/retrieving-document-information/how-to-get-file-type-and-pages-count.md" >}}'>Retrieve document information</a></li>
<li><a href='{{< ref "viewer/nodejs-java/developer-guide/processing-attachments/how-to-extract-and-save-attachments.md" >}}'>Extract and save attachments</a></li>
<li><a href='{{< ref "viewer/nodejs-java/developer-guide/rendering-documents/add-text-watermark.md" >}}'>Add text watermarks</a></li>
<li><a href='{{< ref "viewer/nodejs-java/developer-guide/caching-results/_index.md" >}}'>Cache rendering results</a></li>
</ul>

<p>API REFERENCE</p>
<ul>
<li><a href="https://reference.groupdocs.com/viewer/nodejs-java/">GroupDocs.Viewer for Java API Reference</a></li>
</ul>

<--->

<p><b>Useful Resources</b></p>
<hr><p>DEMOS AND EXAMPLES</p></hr>
<ul>
<li><a href="https://products.groupdocs.app/viewer/total">View documents online</a></li>
<li><a href="https://github.com/groupdocs-viewer/GroupDocs.Viewer-for-Node.js-via-Java">Download examples and demos from GitHub</a></li>
<li><a href='{{< ref "/viewer/nodejs-java/getting-started/how-to-run-examples.md" >}}'>How to run examples</a></li>
</ul>

<p>VERSION HISTORY</p>
<ul>
<li><a href='https://releases.groupdocs.com/viewer/nodejs-java/release-notes/'>GroupDocs.Viewer for Java Release Notes</a></li>
</ul>

<p>TECHNICAL SUPPORT</p>
<ul>
<li><a href="https://forum.groupdocs.com/">Free Support Forum for GroupDocs Products</a></li>
<li><a href="https://helpdesk.groupdocs.com/">Paid Support Helpdesk for GroupDocs Products</a></li>
</ul>

{{< /columns >}}
11 changes: 11 additions & 0 deletions nodejs-java/developer-guide/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
id: developer-guide
url: viewer/nodejs-java/developer-guide
title: Developer Guide
weight: 4
description: "Explains GroupDocs.Viewer for Node.js file viewer features and shows how to view PDF, Word, Excel, PowerPoint documents inside your JavaScript applications"
keywords: GroupDocs.Viewer Developer Guide, GroupDocs.Viewer Java Developer Guide, GroupDocs.Viewer Developer Guide Java, Using GroupDocs.Viewer for Node.js, GroupDocs.Viewer for Node.js use cases
productName: GroupDocs.Viewer for Node.js via Java
hideChildren: False
isMenuItemWithNoContent: True
---
50 changes: 50 additions & 0 deletions nodejs-java/developer-guide/caching-results/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
id: caching-results
url: viewer/nodejs-java/caching-results
title: Cache results
weight: 5
keywords: caching,caching results,groupdocs.viewer
description: "This article contains caching use-cases with GroupDocs.Viewer within your JavaScript applications."
productName: GroupDocs.Viewer for Node.js via Java
hideChildren: False
---
Caching saves rendering results to a specified location, such as a local disk. When you re-request the rendering results, GroupDocs.Viewer does not render again, but uses the cached results.
As a document can take a long time to render, use caching if you expect to reuse the rendering results.

To enable caching, follow these steps:

1. Instantiate the desired cache object (for example, [FileCache](#) to store document rendering results at the local drive)
2. Instantiate the [ViewerSettings](#) object. Specify the cache object as a parameter of the constructor.
3. Instantiate the [Viewer](#) object. Specify the [ViewerSettings](#) object as a parameter of the constructor.
4. Call the [view()](#) method of the [Viewer](#) class.

The following code snippet shows how to enable caching and displays the difference between rendering a file and getting the cached results:

{{< tabs "example1">}}
{{< tab "JavaScript" >}}
```js
const cachePath = "cache";
const cache = new FileCache(cachePath);
const settings = new ViewerSettings(cache);

const viewer = new groupdocs.viewer.Viewer("sample.docx", settings)
const options = HtmlViewOptions.forEmbeddedResources();
const currentTimeMillis = Date.now()

viewer.view(options);
currentTimeMillis = Date.now() - currentTimeMillis
console.log("Time taken on first call to View method " + currentTimeMillis + " (ms).")
currentTimeMillis = Date.now()

viewer.view(options)
currentTimeMillis = Date.now() - currentTimeMillis
console.log("Time taken on second call to View method " + currentTimeMillis + " (ms).")
```
{{< /tab >}}
{{< /tabs >}}

The following image shows a sample console output:

![](/viewer/java/images/caching-results.png)

For details, please refer to the following pages:
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
id: loading-documents-from-different-sources
url: viewer/nodejs-java/loading-documents-from-different-sources
title: Load documents from different sources
weight: 1
description: "This article contains document loading use-cases with GroupDocs.Viewer within your JavaScript applications."
keywords:
productName: GroupDocs.Viewer for Node.js via Java
hideChildren: False
---
19 changes: 19 additions & 0 deletions nodejs-java/developer-guide/processing-attachments/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
id: working-with-attachments
url: viewer/nodejs-java/working-with-attachments
title: Process attachments
weight: 4
description: "Processing email attachments, embedded files, and compressed files with GroupDocs.Viewer for JavaScript"
keywords: email attachments, embedded files, compressed files
productName: GroupDocs.Viewer for Node.js via Java
hideChildren: False
---

Using GroupDocs.Viewer, you can list and save the following attachments:

* Email attachments
* Files embedded in PDF files
* Email messages contained by Outlook, LotusNotes and other storage files
* Compressed files

See following examples on how to process document attachments in more details:
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
---
id: how-to-extract-and-save-attachments
url: viewer/nodejs-java/how-to-extract-and-save-attachments
title: Save attachments
weight: 2
description: "Save attachments and embedded files from PDF, Outlook data file or email"
keywords: Save attachments, embedded files from PDF, Outlook data file
productName: GroupDocs.Viewer for Java
hideChildren: False
---
To get and save attachments, follow these steps:

1. Instantiate the [Viewer](#) object. Specify a file that contains attachments.
2. Call the [getAttachments](#) method. It returns the attachment collection.
3. Iterate through the collection. To save an attachment, call the [saveAttachment](#) method.

The following code snippet shows how to get and save all attachments from the MSG file:

{{< alert style="info" >}}NOTE: provided code snippet suits all format families that support attachments: emails, Outlook data files, archives, and PDF documents.{{< /alert >}}

{{< tabs "example1">}}
{{< tab "JavaScript" >}}
```js
const viewer = new groupdocs.viewer.Viewer("with_attachments.msg")
const attachments = viewer.getAttachments();
console.log('Attachments:\n');

for(let i = 0; i < attachments.size(); i++ ){
console.log(attachments.get(i).toString());
}
console.log('\nAttachments retrieved successfully.');
```
{{< /tab >}}
{{< /tabs >}}
Loading

0 comments on commit 2755300

Please sign in to comment.