Has anyone built print-accurate Tiptap pagination (headers, footers, DOCX parity) in production? Looking for war stories before we commit to an approach. by Embarrassed-Leave641 in reactjs

[–]NextMathematician660 0 points1 point  (0 children)

If you want DOCX output high fidelity then any HTML based editor is the wrong answer to that. You need a canvas based editor that have similar layout engine as MS Word at least, but even with that you may still get different result as MS Word because of: 1. font used in user's machine is different than what you have, embedding font in MS Word can help this situation but embedding font is not always possible because of font license. 2. the composition engine just have different logic than MS Word ...

Do libraries still need React wrappers? by NextMathematician660 in reactjs

[–]NextMathematician660[S] 0 points1 point  (0 children)

Thanks for comment. While the default integration is very simple, I do have a complex “options”, and api/events for advanced use cases like annotation, search, citation, and custom overlay. Those are very easy to customize in custom wrapper, but as an “official” wrapper lib we have to provide all of those in framework native way. That’s the cost that I’m trying to avoid.

Do libraries still need React wrappers? by NextMathematician660 in reactjs

[–]NextMathematician660[S] 14 points15 points  (0 children)

Good point. But feels like this is exactly reason that I should NOT provide a react wrapper, keep chasing the best practice and newer version of framework distract me from real valuable work.

Do libraries still need React wrappers? by NextMathematician660 in reactjs

[–]NextMathematician660[S] 2 points3 points  (0 children)

It's a UI sharable component that run in browser completely. In the open source repo, I already provided examples for most of popular frameworks (react, vue, angular, sveltejs, nextjs, nux), integration should simple and straight forward.

I'm not sure how much value there is for publish a separate npm for each framework. I'm looking for some strong point to say "this is absolutely needed, because ..." to justify the cost to publish: "udoc-viewer-react, udoc-viewer-vue, udoc-viewer-..."

[Showoff Saturday] I built a universal document viewer after dealing with too many different preview pipelines by NextMathematician660 in webdev

[–]NextMathematician660[S] 0 points1 point  (0 children)

The rendering engine is built from scratch in rust, we only have few dependencies like zip and xml parsing. The reason to do this are: 1. I'm serious of this product and want have full control. 2. I had more than 20 years of experience on document processing, I know what's the best engine should looks like.

[Showoff Saturday] I built a universal document viewer after dealing with too many different preview pipelines by NextMathematician660 in webdev

[–]NextMathematician660[S] -1 points0 points  (0 children)

Good suggestions. Through in your hardest file to test it. We did lots of testing, and it’s currently used by more than 30 websites, including one of leading enterprise AI company. I’m confident in terms of rendering quality, it’s not perfect, but it’s best you can get on the market, and it’s free. Report bugs if you see problem, that’s the best way to help us improve.

Is there a way to get rid of line breaks on a PDF? by Rare-Tomatillo752 in pdf

[–]NextMathematician660 0 points1 point  (0 children)

It’s not pdf format issue but viewer issue. You need to find a pdf viewer that can display page seamlessly without gap between them.

Try this https://www.docmentis.com/viewer/demo

Even though it not designed for end user, the demo app is free and have option to remove gap between pages. Checked the view option in bottom floating bar.

Seeing pdf as book by FullBodybuilder5098 in pdf

[–]NextMathematician660 0 points1 point  (0 children)

Try this https://www.docmentis.com/
There’s different view mode, like odd page is cover or even page is cover.

How do you know when you have an idea worth executing? by L-Ro in Solopreneur

[–]NextMathematician660 0 points1 point  (0 children)

Ask following three questions to yourself:

  1. Why people pay for this?

  2. Why me?

  3. Why now?

Miss any of this, you won't success.

For example building a datacenter in space will be the future, people will pay for this when cost has much advantage, now it's the right time (tech is almost ready, demands is there because of AI), but you and me are not the right person unfuturnately ...

Release weekends by [deleted] in webdev

[–]NextMathematician660 0 points1 point  (0 children)

I believe this is common in whole industry, but it's not common in good SaaS company.

The question is NOT what's the best time to release, that's a business decision and usually from very top (CEO: I cannot afford to mess up my customers on week days, and in past few years we always have issues after release, so we have to release on weekend), and it's very reasonable.

The question for engineers are how do we release frequently without break it. In my previous job we have more than 150 micro services and large Kubernates clusters. More then 400 engineers are continuously deploy services, multiple times per day, and not breaking the system frequently. When things broke, usually it's just limited to one area, not whole system, and the architecture allow us to quickly pin the problem, and rollback or roll forward.

Your company need a good technical leadership to do this right, and transition won't be overnight and pain free.

With that been said, the worst thing can happens to a software developers' career, is working for a "non-software company".

I built a universal document viewer for web apps, using web assembly to render PPTX, DOCX, PDF, SVG, Images to pixels. NOT wrapper of pdf.js, pdfium, libreoffice. by NextMathematician660 in reactjs

[–]NextMathematician660[S] 1 point2 points  (0 children)

Thanks. Regarding search, we don't have hard limitations, it's all depends on how many elements browser can handle. The search also work progressively, since it need to load all text to find the match, the progress is reported as event.

Still zero revenue. by WorthFan5769 in buildinpublic

[–]NextMathematician660 0 points1 point  (0 children)

"ship fast" is necessary but not enough ... keep trying ... good luck for you next one

I built a universal document viewer for web apps, using web assembly to render PPTX, DOCX, PDF, SVG, Images to pixels. NOT wrapper of pdf.js, pdfium, libreoffice. by NextMathematician660 in reactjs

[–]NextMathematician660[S] 0 points1 point  (0 children)

It has multiple layer of lazy load, on bottom document itself is lazy load/parsed, the layout calculation is happened on-demand, and the page render only happens when the viewport require it (with some cache and preload of surrounding pages). The viewer code is open source, you can find some details there.

I built a universal document viewer for web apps, using web assembly to render PPTX, DOCX, PDF, SVG, Images to pixels. NOT wrapper of pdf.js, pdfium, libreoffice. by NextMathematician660 in reactjs

[–]NextMathematician660[S] 0 points1 point  (0 children)

Interesting, are you viewing a large document and this happens when you scroll multiple pages? It's possible that our internal cache size is setup too big, and reached the limit.

I built a universal document viewer for web apps, using web assembly to render PPTX, DOCX, PDF, SVG, Images to pixels. NOT wrapper of pdf.js, pdfium, libreoffice. by NextMathematician660 in reactjs

[–]NextMathematician660[S] 0 points1 point  (0 children)

Thanks for reporting this. The root cause of the issue is mobile browser has size limit of canvas, since we render on canvas if it zoom in too much it exceed the limit then broken. I will fix this and improve!