mirror of
https://github.com/BookStackApp/BookStack.git
synced 2026-02-06 19:06:02 +03:00
API Script node-docx-to-page not working #3301
Closed
opened 2026-02-05 06:18:11 +03:00 by OVERLORD
·
9 comments
No Branch/Tag Specified
development
further_theme_development
l10n_development
release
llm_only
vectors
v25-11
docker_env
drawio_rendering
user_permissions
ldap_host_failover
svg_image
prosemirror
captcha_example
fix/video-export
v25.12.3
v25.12.2
v25.12.1
v25.12
v25.11.6
v25.11.5
v25.11.4
v24.11.4
v25.11.3
v25.11.2
v25.11.1
v25.11
v25.07.3
v25.07.2
v25.07.1
v25.07
v25.05.2
v25.05.1
v25.05
v25.02.5
v25.02.4
v25.02.3
v25.02.2
v25.02.1
v25.02
v24.12.1
v24.12
v24.10.3
v24.10.2
v24.10.1
v24.10
v24.05.4
v24.05.3
v24.05.2
v24.05.1
v24.05
v24.02.3
v24.02.2
v24.02.1
v24.02
v23.12.3
v23.12.2
v23.12.1
v23.12
v23.10.4
v23.10.3
v23.10.2
v23.10.1
v23.10
v23.08.3
v23.08.2
v23.08.1
v23.08
v23.06.2
v23.06.1
v23.06
v23.05.2
v23.05.1
v23.05
v23.02.3
v23.02.2
v23.02.1
v23.02
v23.01.1
v23.01
v22.11.1
v22.11
v22.10.2
v22.10.1
v22.10
v22.09.1
v22.09
v22.07.3
v22.07.2
v22.07.1
v22.07
v22.06.2
v22.06.1
v22.06
v22.04.2
v22.04.1
v22.04
v22.03.1
v22.03
v22.02.3
v22.02.2
v22.02.1
v22.02
v21.12.5
v21.12.4
v21.12.3
v21.12.2
v21.12.1
v21.12
v21.11.3
v21.11.2
v21.11.1
v21.11
v21.10.3
v21.10.2
v21.10.1
v21.10
v21.08.6
v21.08.5
v21.08.4
v21.08.3
v21.08.2
v21.08.1
v21.08
v21.05.4
v21.05.3
v21.05.2
v21.05.1
v21.05
v21.04.6
v21.04.5
v21.04.4
v21.04.3
v21.04.2
v21.04.1
v21.04
v0.31.8
v0.31.7
v0.31.6
v0.31.5
v0.31.4
v0.31.3
v0.31.2
v0.31.1
v0.31.0
v0.30.7
v0.30.6
v0.30.5
v0.30.4
v0.30.3
v0.30.2
v0.30.1
v0.30.0
v0.29.3
v0.29.2
v0.29.1
v0.29.0
v0.28.3
v0.28.2
v0.28.1
v0.28.0
v0.27.5
v0.27.4
v0.27.3
v0.27.2
v0.27.1
v0.27
v0.26.4
v0.26.3
v0.26.2
v0.26.1
v0.26.0
v0.25.5
v0.25.4
v0.25.3
v0.25.2
v0.25.1
v0.25.0
v0.24.3
v0.24.2
v0.24.1
v0.24.0
v0.23.2
v0.23.1
v0.23.0
v0.22.0
v0.21.0
v0.20.3
v0.20.2
v0.20.1
v0.20.0
v0.19.0
v0.18.5
v0.18.4
v0.18.3
v0.18.2
v0.18.1
v0.18.0
v0.17.4
v0.17.3
v0.17.2
v0.17.1
v0.17.0
v0.16.3
v0.16.2
v0.16.1
v0.16.0
v0.15.3
v0.15.2
v0.15.1
v0.15.0
v0.14.3
v0.14.2
v0.14.1
v0.14.0
v0.13.1
v0.13.0
v0.12.2
v0.12.1
v0.12.0
v0.11.2
v0.11.1
v0.11.0
v0.10.0
v0.9.3
v0.9.2
v0.9.1
v0.9.0
v0.8.2
v0.8.1
v0.8.0
v0.7.6
v0.7.5
v0.7.4
v0.7.3
0.7.2
v.0.7.1
v0.7.0
v0.6.3
v0.6.2
v0.6.1
v0.6.0
v0.5.0
Labels
Clear labels
🎨 Design
📖 Docs Update
🐛 Bug
🐛 Bug
:cat2:🐈 Possible duplicate
💿 Database
☕ Open to discussion
💻 Front-End
🐕 Support
🚪 Authentication
🌍 Translations
🔌 API Task
🏭 Back-End
⛲ Upstream
🔨 Feature Request
🛠️ Enhancement
🛠️ Enhancement
🛠️ Enhancement
❤️ Happy feedback
🔒 Security
🔍 Pending Validation
💆 UX
📝 WYSIWYG Editor
🌔 Out of scope
🔩 API Request
:octocat: Admin/Meta
🖌️ View Customization
❓ Question
🚀 Priority
🛡️ Blocked
🚚 Export System
♿ A11y
🔧 Maintenance
> Markdown Editor
pull-request
Mirrored from GitHub Pull Request
No Label
🐕 Support
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: starred/BookStack#3301
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @mschoon85 on GitHub (Oct 24, 2022).
Attempted Debugging
Searched GitHub Issues
Describe the Scenario
Hello,
I'm trying to use the node-docx-to-page API script to import Word documents into Bookstack, as there is no way to do this within the GUI.
On the page https://github.com/BookStackApp/api-scripts/tree/main/node-docx-to-page the first step fails (npm install):
I cannot proceed with importing Word documents. Also we would like to see an option within the Bookstack GUI to import Word documents (.doc and/or .docx) as our current Knowledge Base exists out of hundreds of word documents.
Kind Regards and thanks in advance,
Michel
Exact BookStack Version
22.09.1
Log Content
PHP Version
8.1.11
Hosting Environment
Windows Server 2022
@ssddanbrown commented on GitHub (Oct 24, 2022):
Hi @mschoon85,
Please check you have downloaded the script files properly.
The error seems to indicate the
package.jsonfile contains HTML content which is not as per thenode-docx-to-pagefiles.You can download all our api scripts as a zip via this link, then extract then then use just the
node-docx-to-pagedirectory.@mschoon85 commented on GitHub (Oct 24, 2022):
Hi @ssddanbrown ,
Downloading the zip file did the trick. Thanks for replying so fast!
@mschoon85 commented on GitHub (Oct 24, 2022):
@ssddanbrown Unfortunately I ran into another problem:
D:\API scripts\node-docx-to-page>node index.js testdocument.docx testpage
@ssddanbrown commented on GitHub (Oct 24, 2022):
Hi @mschoon85,
I'm guessing you're using some kind of self-signed certificate for your BookStack instance?
If you, you might need to either tweak the script to ignore certificate issues (Disable security measures) or add the used certificate to the certificate trust store that's used by NodeJS.
@mschoon85 commented on GitHub (Oct 25, 2022):
Hi @ssddanbrown,
I got it working by disabling the certificate check. I added "process.env["NODE_TLS_REJECT_UNAUTHORIZED"] = 0;" to index.js.
I can now add small word documents to Bookstack, however it looks like larger files timeout. I'm trying to upload a 67 pages and 43495 word file and get the following error:
@ssddanbrown commented on GitHub (Oct 25, 2022):
Sounds like you'd need to increase the timeout found in this section of the code:
ed1748f060/node-docx-to-page/index.js (L34-L39)@mschoon85 commented on GitHub (Oct 26, 2022):
@ssddanbrown Thanks, I got it working now. I also made a PowerShell script to import word documents a bit more easier. When the script is started a Windows pop up shows to select the word document and then the script will import it:
Instead of {bookname} enter the name of the book without the brackets. I'm going to make some improvements to the script, for example choosing which book the document should be uploaded to.
@mschoon85 commented on GitHub (Oct 26, 2022):
@ssddanbrown
If interested I completed my script. The script has to be saved as a .ps1 file and executed with Powershell. It will show a menu to choose which book the docx document is going to be uploaded to, after choosing the book a windows file explorer window will open up to browse to the document and select it. A filter is active so only docx documents are shown. After the import has been completed you will return to the menu to import other documents, to whatever book is needed.
To use the script you must change the following:
$OpenFileDialog.initialDirectory = "path to start browsing"
node --no-warnings "locationof\index.js" $OpenFile Book1
Important note: I'm not a programmer so things can most likely be improved, but at least it works and users can upload their own documents without using and creating the correct command line option themselves or contacting an administrator to do it for them. We have hundreds of documents to import, that's why it would be better that importing word documents would be a good thing to have within the Bookstack GUI. Users would then be able to import documents themselves without using the API, a custom made script like this, or bother me or other admins. Our users are not all technical enough to use Powershell or command line options, and for non-IT personal the usage of powershell and commandline is disabled through policy.
Example (Sorry for the Dutch language):

@ssddanbrown commented on GitHub (Oct 27, 2022):
Good to hear you got things working, and thanks for sharing the script.
I will therefore close this off.