First, thanks for your great tool. I have a feature suggestion for landscape mode.
Currently, "fitwidth" mode is implemented by rotating the output content 90 degree. While the user can rotate his device to landscape orientation to read the book, the device still think it is in portrait orientation. This posed UI problems. (see fitwidth.png)
1. The page count, menu, and any UI elements are still in portrait orientation.
2. The page-flip virtual buttons are on top and bottom instead of left and right.
My feature suggestion: add a new landscape mode, which rotating page size instead of rotating content. In this mode, I can use the "landscape mode" feature of my device.
Conceptually, this feature could be done by swapping the value of -w and -h.
For example, the original size of my device, paperwhite2, is -w 718 -h 965, so use -w 965 -h 718 instead.
However, "-w 965 -h 718" doesn't work well for me. Because the visible area size in device's landscape mode is different to the size in device's portrait mode, the result page looks distortion due to scaling.
So if you want to add this mode, you have to collect again the size for device's landscape mode like
https://www.mobileread.com/forums/sh....php?p=3013298
From my test, "-w 931 -h 690" is good value for paperwhite2.
My test pdf and result are attached.
test_native_landscape.pdf is my source pdf.
k2pdfopt command is -dev kpw -wrap- -bp -h 690 -w 931 -ws 0.2
test_native_landscape_k2opt.png is the result screenshot.
p.s. there are small dark pixels on the right side. I guess they are due to the size of my source pdf is not perfect aligned with k2pdfopt's expectation. (they already exist in test_native_landscape_k2opt.pdf)