test-merge.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. // 简单的测试脚本来验证docxtemplater合并功能
  2. import { DocumentService } from './src/server/modules/documents/document.service.js';
  3. import { DataSource } from 'typeorm';
  4. // 创建模拟的DataSource
  5. const mockDataSource = {};
  6. async function testMerge() {
  7. console.log('Testing docxtemplater merge functionality...');
  8. const documentService = new DocumentService(mockDataSource);
  9. // 创建一些模拟的Word文档缓冲区
  10. const mockDoc1 = Buffer.from('Mock Word Document 1');
  11. const mockDoc2 = Buffer.from('Mock Word Document 2');
  12. try {
  13. console.log('Testing mergeWordDocuments method...');
  14. const result = await documentService.mergeWordDocuments(
  15. [mockDoc1, mockDoc2],
  16. {
  17. preserveFormatting: true,
  18. outputFormat: 'docx'
  19. }
  20. );
  21. console.log('✅ Merge successful!');
  22. console.log(`Result buffer size: ${result.length} bytes`);
  23. console.log(`MinIO available: ${documentService.isMinioAvailable()}`);
  24. // 测试保存到MinIO(回退到base64)
  25. const downloadUrl = await documentService.saveToMinio(result, 'test.docx');
  26. console.log(`Download URL: ${downloadUrl.substring(0, 100)}...`);
  27. } catch (error) {
  28. console.error('❌ Merge failed:', error.message);
  29. }
  30. }
  31. testMerge().catch(console.error);