在生產環境中測試,無水印。
在任何需要的地方都能運行。
獲得 30 天的全功能產品。
在幾分鐘內上手運行。
試用產品期間完全訪問我們的支援工程團隊
即時伺服器旨在即時響應資料,使其能對每個用戶互動或系統事件立即做出反應。 與引入延遲的傳統請求-回應伺服器不同,即時伺服器使用技術和協議以確保持續的信息交換和即時更新。 這是因為即時伺服器對於需要即時通信的多個應用程式至關重要:消息系統、線上遊戲、金融交易平台和協作工具。 在這篇文章中,我們將學習如何使用開源即時伺服器 deepstream 和 IronPDF 來生成 PDF。
deepstream.io 是一個可擴展的即時伺服器,用於數據同步和多對多訊息傳遞。 它可以輕鬆處理數據,並以極低延遲保持多個用戶端同步,支持二進制數據傳輸。 deepstream.io 被設計成可以放置在其他負載均衡器和調節器後方,並提供同步數據和保持資源文件更新的高效方式,這使得它非常適合用於實時更新數據並尋求可擴展的伺服器解決方案的應用程式。
開發者實施 deepstream.io 可以輕鬆實現即時更新、協作應用程式和互動體驗,而無需從頭開始。 它已被設計用於高載荷和高效擴展,成為高並發應用程式的首選軟體。 deepstream.io 是靈活的,並可能成為您技術堆疊中的完美補充,以多種不同的方式呈現。 它提供了一個完整的解決方案,使用戶能夠創建實時、響應式和互動的網頁和移動應用程式。
要建立新的 Node.js 目錄,請在控制台輸入以下命令:
mkdir deepstream-project
cd deepstream-project
npm init -y
mkdir deepstream-project
cd deepstream-project
npm init -y
首先,您需要安裝 deepstream.io。 您可以使用 NPM 安裝它或從官方網站下載二進位檔。
npm install @deepstream/server
npm install @deepstream/server
const { Deepstream } = require('@deepstream/server')
//we can add modifying resource files as a parameter
const server = new Deepstream({})
// start the server
server.start()
js
以下是如何在 Node.js 中使用 @deepstream/server 套件設置和啟動 deepstream.io 伺服器的代碼片段。 首先,從該套件中匯入 Deepstream 類別。 接下來,它會建立該類別的實例。 此時,初始化一個新的 Deepstream 實例。 隨著 server.start() 的呼叫,伺服器啟動,因此準備接受任何進來的連接,以處理即時數據綁定、消息傳送或存在後端服務。 此最小化設置將使伺服器啟動運行,準備好接受客戶端連接,並能夠執行從管理數據到廣播事件的任何操作。
const { DeepstreamClient } = require('@deepstream/client')
const client = new DeepstreamClient('127.0.0.1:6020')
client.login( null);
js
以下是使用@deepstream/client庫連接到deepstream的代碼示例。 此腳本匯入 DeepstreamClient 類別,然後創建一個 DeepstreamClient 實例,該實例連接至位於 IP 位址 127.0.0.1 的本機執行的 deepstream 伺服器,埠號為 6020。最後,它應該使用 client.login(null) 登入此伺服器。 在此情況下,會傳遞空值,這意味著未提供任何憑證。 如果伺服器根本不使用身份驗證或用於某些測試案例,那可能就足夠了。 以下設定將初始化一個用戶端,以連接至 deepstream 伺服器,為實時數據同步和通訊電力用戶提供支持。
一旦與伺服器節點連接,伺服器控制台中將顯示如下訊息。
以下是可用來建立監聽器的範例程式碼,而這也是 deepstream 的核心概念之一。
const { DeepstreamClient } = require("@deepstream/client");
const client = new DeepstreamClient("127.0.0.1:6020");
client.login(null, (success, clientData) => {
if (success) {
const event = client.event;
// Publish a custom event
event.publish("custom-event", { message: "Hello, Deepstream!" });
}
});
js
在上述程式碼中,使用 @deepstream/client 函式庫登入位於 127.0.0.1:6020 的 deepstream 伺服器。 接下來,在建立連線並登入後,檢查是否登入成功。 如果對實時伺服器的身份驗證成功,它將發布一個名為"custom-event"的自定義事件,並帶有消息載荷{ message: "Hello, Deepstream!" }。 以下範例將展示如何連接到 deepstream 伺服器並向其發送訊息和自訂事件。
使用IronPDF,一個非常強大的 Node.js 套件,來創建、編輯、轉換和編輯 PDF 文件。 這是一種用於 PDF 的編程過程中的大多數工具,以及修改現有 PDF 和將 HTML 轉換為 PDF 之類的後端程序。 在需要動態創建和處理 PDF 的應用程式中,IronPDF 變得非常有用。 它以使用者友好的方式提供靈活的方式生成高品質的 PDF 文件。
使用 NPM 下載和安裝套件,讓 Node.js 啟用 IronPDF 功能。
npm install @ironsoftware/ironpdf
npm install @ironsoftware/ironpdf
使用 IronPDF 創建 PDF 的函數:
const IronPdf = require('@ironsoftware/ironpdf');
const { PdfDocument } = IronPdf;
// Set IronPDF configuration
const config = IronPdf.IronPdfGlobalConfig;
config.setConfig({ licenseKey: 'YOUR_LICENSE_KEY' }); // Replace with your actual license key
async function generatePDF(title, content) {
try {
// Generate PDF from HTML content
const pdf = await PdfDocument.fromHtml(`<html><body><h1>${title}</h1><p>${content}</p></body></html>`);
return await pdf.saveAsBuffer();
} catch (error) {
console.error('Error generating PDF:', error);
throw error;
}
}
module.exports = generatePDF;
js
現在編寫一個 Python 腳本,該腳本將實時監聽數據並根據該數據生成PDF文件:
const { DeepstreamClient } = require('@deepstream/client');
const generatePDF = require('./generatePdf'); // Path to your PDF generation function
const client = new DeepstreamClient('127.0.0.1:6020');
client.login(null, async (success) => {
if (success) {
console.log('Deepstream connected successfully');
// Listen for a custom event to trigger PDF generation
const event = client.event;
event.subscribe('generate-pdf', async (data) => {
const { title, content } = data;
if (!title
!content) {
console.error('Missing title or content for PDF generation');
return;
}
try {
// Generate the PDF
const pdfBuffer = await generatePDF(title, content);
// Handle the PDF buffer (e.g., save to file, send over network)
console.log('PDF generated successfully');
// Example: Save PDF to a file (optional)
const fs = require('fs');
fs.writeFileSync('generated.pdf', pdfBuffer);
} catch (error) {
console.error('Error generating PDF:', error);
}
});
} else {
console.error('Failed to connect to Deepstream');
}
});
js
我們可以發佈事件,以從其他 Python 腳本或應用程式的一部分觸發 PDF 生成:
const { DeepstreamClient } = require('@deepstream/client');
const client = new DeepstreamClient('127.0.0.1:6020');
client.login(null, () => {
const event = client.event;
// Publish a custom event with title and content
event.publish('generate-pdf', {
title: 'Sample PDF Title',
content: 'This is the content of the PDF document.'
});
});
js
Deepstream.io 是通過監聽將觸發PDF 生成的即時事件來實現的。 generatePDF 函數使用 IronPDF 根據 Deepstream.io 事件生成 PDF 文件。 DeepstreamClient 會訂閱這些內容,並在發佈相關事件時調用 PDF 生成功能。 這種整合能夠根據事件發生、請求或數據變更,實時動態生成PDF。
為了讓代碼編譯和運行沒有浮水印,需要許可密鑰。 想要試用授權的開發人員可以在這裡註冊。 獲得一個不需要提供信用卡。 您只需輸入您的電子郵件地址即可註冊免費試用。
透過 deepstream.io 和 IronPDF 的結合,可以實現最強大的即時數據處理和動態文件生成解決方案之一。 deepstream.io 會即時同步變更並記錄所有事件,因此能夠立即對任何數據變更做出反應。 IronPDF 提供了一種強大的機制,能夠即時創建專業文件。 此整合將使您的應用程式能夠在即時數據變更時以及用戶與您的應用程式互動時,自動創建和處理 PDF 文件。
無論是報表生成、發票還是任何其他文件類型,deepstream.io 與 IronPDF 的整合可簡化工作流程、創建響應式文件,並通過即時信息保持您的應用程式輕便和現代。 此組合最適合用於敏捷、數據驅動和響應式應用程序,這些應用程序需要實時文檔生成和管理支持。
Iron Software 提供的庫讓我們能夠快速且輕鬆地為各種作業系統、瀏覽器和平台(包括 Windows、Android、MAC、Linux 等)創建程式。