Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
some_doc_viewers
Advanced tools
A document viewer library with React components for PDF, PowerPoint, Excel, and Word documents. The PowerPoint viewer can also be used standalone without React.
This project contains a TypeScript-based document viewing solution that supports multiple file formats, including PPTX, PDF, XLSX, and DOCX. The main functionality is implemented in the Viewer
component and individual preview components for each file type.
The document viewing process can be summarized in the following steps:
Here's a diagram illustrating the process:
graph TD
A[Load document file] --> B[Determine file type]
B --> C[Render preview component]
C --> D[Convert and display content]
subgraph "Preview Components"
E1[PPTXPreview] --> C
E2[PDFPreview] --> C
E3[XLSXPreview] --> C
E4[DOCXPreview] --> C
end
Viewer.tsx
: The main component that determines the file type and renders the appropriate preview component.PPTXPreview.tsx
: Uses the usePPTX
hook to convert and display PPTX files.PDFPreview.tsx
: Renders PDF files page by page using react-pdf.XLSXPreview.tsx
: Converts Excel files to a table format for display.DOCXPreview.tsx
: Converts DOCX files to HTML for rendering.The PPTX to HTML conversion process is implemented in the PPTX
class within the src/helpers/pptx/PPTX.ts
file. This implementation is a rewrite of the original pptxjs library, using modern TypeScript.
To use the document viewer:
Viewer
component.Example:
import Viewer from './Viewer';
function App() {
return (
<Viewer fileUrl="path/to/document.pptx" fileType="pptx" />
);
}
For PPTX files, the generated HTML is further processed using the divs2slides.js
library located in src/assets/pptxjs/js/divs2slides.js
. This library converts the HTML content into a slide-based presentation format, enabling features like navigation between slides and fullscreen mode.
The usePPTX
hook in src/helpers/pptx/usePPTX.ts
handles the integration of divs2slides with the converted PPTX content.
For more detailed information on the implementation, please refer to the individual component files in the src/components/
directory and the src/helpers/pptx/PPTX.ts
file.
FAQs
A document viewer library with React components for PDF, PowerPoint, Excel, and Word documents. The PowerPoint viewer can also be used standalone without React.
The npm package some_doc_viewers receives a total of 123 weekly downloads. As such, some_doc_viewers popularity was classified as not popular.
We found that some_doc_viewers demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.