converter now part of package

This commit is contained in:
Kilian Hofmann 2023-11-22 08:01:31 +01:00
parent 515cbd8a20
commit 34780db289
3 changed files with 77 additions and 64 deletions

View File

@ -19,6 +19,14 @@
<AssetDir>PackageDefinitions\khofmann-pdf-reader\ContentInfo\</AssetDir> <AssetDir>PackageDefinitions\khofmann-pdf-reader\ContentInfo\</AssetDir>
<OutputDir>ContentInfo\khofmann-pdf-reader\</OutputDir> <OutputDir>ContentInfo\khofmann-pdf-reader\</OutputDir>
</AssetGroup> </AssetGroup>
<AssetGroup Name="converter">
<Type>Copy</Type>
<Flags>
<FSXCompatibility>false</FSXCompatibility>
</Flags>
<AssetDir>PackageSources\converter\bin\x64\Release\net8.0-windows\</AssetDir>
<OutputDir>converter\</OutputDir>
</AssetGroup>
<AssetGroup Name="html-ui"> <AssetGroup Name="html-ui">
<Type>Copy</Type> <Type>Copy</Type>
<Flags> <Flags>

View File

@ -16,15 +16,16 @@ const double MM2IN = 25.4;
#endregion #endregion
#region Main Code #region Main Code
/*
if (args.Length == 0) if (args.Length == 0)
{ {
Console.WriteLine("No PDF specified"); Console.WriteLine("No PDF specified");
Console.ReadKey();
return 1; return 1;
} }
Console.WriteLine($"Conversion for {args[0]}\n"); Console.WriteLine($"Conversion for {args[0]}\n");
*/
Tuple<int, int> size = ReadConfig(); Tuple<int, int> size = ReadConfig();
return ReadPDF("MD11_FCOM_vol1.pdf", size.Item1, size.Item2); return ReadPDF("MD11_FCOM_vol1.pdf", size.Item1, size.Item2);

View File

@ -60,70 +60,74 @@ const ListPage: FC = () => {
Files Files
</Typography> </Typography>
)} )}
<TextField {getPages(list.length) > 0 && (
variant="filled" <>
value={pageJump} <TextField
sx={{ input: { color: '#fff' }, width: '100px' }} variant="filled"
onChange={(e) => { value={pageJump}
e.stopPropagation(); sx={{ input: { color: '#fff' }, width: '100px' }}
setPageJump(e.target.value); onChange={(e) => {
}} e.stopPropagation();
onFocus={() => Coherent.trigger('FOCUS_INPUT_FIELD', guid, '', '', '', false)} setPageJump(e.target.value);
onBlur={() => Coherent.trigger('UNFOCUS_INPUT_FIELD', guid)} }}
/> onFocus={() => Coherent.trigger('FOCUS_INPUT_FIELD', guid, '', '', '', false)}
<Button onBlur={() => Coherent.trigger('UNFOCUS_INPUT_FIELD', guid)}
onClick={() => { />
try { <Button
let page = Number.parseInt(pageJump); onClick={() => {
if (isNaN(page)) page = offset.slice(-1)[0]; try {
page = Math.max(1, Math.min(getPages(list.length) + 1, page)); let page = Number.parseInt(pageJump);
if ((page - 1) * MAX_LIST !== offset.slice(-1)[0]) { if (isNaN(page)) page = offset.slice(-1)[0];
page = Math.max(1, Math.min(getPages(list.length) + 1, page));
if ((page - 1) * MAX_LIST !== offset.slice(-1)[0]) {
setOffset((prev) => {
prev.pop();
return [...prev, (page - 1) * MAX_LIST];
});
setPageJump(`${page}`);
}
} catch (e) {
console.warn(e);
}
}}
>
<Typography variant="h5" color="#fff">
Go to
</Typography>
</Button>
<Button
onClick={() => {
setOffset((prev) => { setOffset((prev) => {
prev.pop(); const curOffset = offset.slice(-1)[0];
return [...prev, (page - 1) * MAX_LIST]; const newOffset = curOffset - MAX_LIST >= 0 ? curOffset - MAX_LIST : 0;
if (newOffset !== curOffset) {
prev.pop();
return [...prev, newOffset];
} else return prev;
}); });
setPageJump(`${page}`); }}
} >
} catch (e) { <NavigateBeforeIcon htmlColor="white" fontSize="large" />
console.warn(e); </Button>
} <Typography variant="h5">
}} {offset.slice(-1)[0] / MAX_LIST + 1}/{getPages(list.length) + 1}
> </Typography>
<Typography variant="h5" color="#fff"> <Button
Go to onClick={() => {
</Typography> setOffset((prev) => {
</Button> const curOffset = offset.slice(-1)[0];
<Button const newOffset = curOffset + MAX_LIST < list.length ? curOffset + MAX_LIST : curOffset;
onClick={() => { if (newOffset !== curOffset) {
setOffset((prev) => { prev.pop();
const curOffset = offset.slice(-1)[0]; return [...prev, newOffset];
const newOffset = curOffset - MAX_LIST >= 0 ? curOffset - MAX_LIST : 0; } else return prev;
if (newOffset !== curOffset) { });
prev.pop(); }}
return [...prev, newOffset]; >
} else return prev; <NavigateNextIcon htmlColor="white" fontSize="large" />
}); </Button>
}} </>
> )}
<NavigateBeforeIcon htmlColor="white" fontSize="large" />
</Button>
<Typography variant="h5">
{offset.slice(-1)[0] / MAX_LIST + 1}/{getPages(list.length) + 1}
</Typography>
<Button
onClick={() => {
setOffset((prev) => {
const curOffset = offset.slice(-1)[0];
const newOffset = curOffset + MAX_LIST < list.length ? curOffset + MAX_LIST : curOffset;
if (newOffset !== curOffset) {
prev.pop();
return [...prev, newOffset];
} else return prev;
});
}}
>
<NavigateNextIcon htmlColor="white" fontSize="large" />
</Button>
<Button <Button
onClick={() => { onClick={() => {
setOffset((prev) => { setOffset((prev) => {