100 lines
6.1 KiB
Plaintext
100 lines
6.1 KiB
Plaintext
----iOS----
|
|
|
|
-quickstart for loading last edited report on main menu
|
|
-duplicate existing report with new name
|
|
-cleanup empty uuid folders in case user gets an internal folder created but never saves
|
|
|
|
*-always save report data (file locations, title, etc.) to internal dir (might already be done?)
|
|
-no more option to save data internally -> ALWAYS save report_data.json internally
|
|
*-update project title -> should update recently used data
|
|
-this sort of works, something is wrong with the upgrade process where the UUID is not brought over properly; need to test and fix (maybe fixed already and my dataset is wrong?)
|
|
*-add dropdown to Add Items button to have add items from folder and remove choose working folder option (data always saved internally)
|
|
-not going to do this; they can always select multiple items from the current picker
|
|
*-Now that the BaseFolder is always internal...update options for PDF output location
|
|
-output in internal dir (default)
|
|
-always ask me every time (opens save file picker after generating PDF to ask user where they want it)
|
|
-always put in X folder (uses existing option)
|
|
-add option to backup added files to internal data directory (always on for iOS)
|
|
-make backup of last generated PDF somewhere
|
|
-iOS-specific (MAUI essentials?)
|
|
-maui community essentials https://learn.microsoft.com/en-us/dotnet/communitytoolkit/maui/get-started?tabs=CommunityToolkitMaui
|
|
-I don't think this is what we are looking for ultimately....?
|
|
-https://github.com/AvaloniaUI/Avalonia.Essentials
|
|
-https://github.com/AvaloniaUI/AvaloniaMauiHybrid -- this may have to be the way to go or perhaps grab code from https://github.com/AvaloniaUI/Avalonia.Controls.Maui/tree/main/src/Avalonia.Controls.Maui.Essentials because we don't need the avalonia tie in stuff if it "just works"...but don't know if it will "just work" yet. apparently native APIs are available through net10.0-ios or whatnot but I'd rather use the existing wrappers/tutorials since those will just work just like we want...
|
|
-auto save on every action
|
|
-Take picture
|
|
-https://learn.microsoft.com/en-us/dotnet/maui/platform-integration/device-media/picker?view=net-maui-10.0&tabs=macios
|
|
-Add pic from gallery
|
|
-see above link
|
|
-Add file (uses Files picking, I think this already mostly works just need to copy to internal data dir)
|
|
-Generate PDF -> Share/print screen to share/print
|
|
-https://learn.microsoft.com/en-us/dotnet/maui/platform-integration/data/share?view=net-maui-10.0&tabs=macios
|
|
-Make sure clipboard works (not sure if it will out of the box or not)
|
|
-https://learn.microsoft.com/en-us/dotnet/maui/platform-integration/data/clipboard?view=net-maui-10.0
|
|
|
|
-----------
|
|
|
|
https://stackoverflow.com/questions/78855900/error-ios-projects-must-build-with-publishtrimmed-true-when-trimming-is-disabl
|
|
https://blog.verslu.is/maui/exclude-assemblies-from-trimming/
|
|
|
|
-p:UseParallelGC=true for faster builds? or /p:MtouchUseLlvm=false? or -p:EnableAssemblyILStripping=false?
|
|
possible hints for building publish iOS binaries: https://github.com/dotnet/maui/issues/25022#issuecomment-2385334527
|
|
|
|
linker stuff: https://blog.verslu.is/maui/exclude-assemblies-from-trimming/
|
|
PublishFolderType documentation: https://github.com/dotnet/macios/blob/main/dotnet/BundleContents.md
|
|
|
|
https://signpath.org/
|
|
|
|
magick "2026-01-29 — \$210 — WORK PERMIT.pdf" -background white -alpha background -alpha off -density 288 -resize 25% page-%03d.jpg
|
|
https://github.com/dlemstra/Magick.NET/blob/main/docs/ConvertPDF.md
|
|
https://stackoverflow.com/questions/65089839/add-an-external-pdf-page-to-pdfsharp-migradoc
|
|
https://github.com/mephraim/ghostscriptsharp
|
|
https://stackoverflow.com/a/71485279/3938401
|
|
|
|
need a PDF viewer that works with annotations
|
|
https://github.com/BobLd/PdfPig.Rendering.Skia/ works but quality is low for some reason, I don't know why. probably need a bug report or some option that is hidden.
|
|
using (var document = UglyToad.PdfPig.PdfDocument.Open(filePath, UglyToad.PdfPig.Rendering.Skia.SkiaRenderingParsingOptions.Instance))
|
|
{
|
|
|
|
document.AddSkiaPageFactory(); // Same as document.AddPageFactory<SKPicture, SkiaPageFactory>() and document.AddPageFactory<PdfPageSize, PageSizeFactory>()
|
|
|
|
for (int p = 1; p <= document.NumberOfPages; p++)
|
|
{
|
|
using var skBitmap = document.GetPageAsSKBitmap(p, 1);
|
|
using (var fs = new FileStream(Path.Combine(convertedDir, $"{fileName}_{p}PIG.jpeg"), FileMode.Create))
|
|
using (var ms = document.GetPageAsPng(p, 1, 4))
|
|
{
|
|
MemoryStream memoryStream = new MemoryStream();
|
|
skBitmap.Encode(memoryStream, SkiaSharp.SKEncodedImageFormat.Jpeg, 100);
|
|
memoryStream.Position = 0L;
|
|
|
|
ms.WriteTo(fs);
|
|
}
|
|
}
|
|
}
|
|
https://github.com/GowenGit/docnet -- may need to fork this and publish our own package if some OS doesn't work
|
|
|
|
*-add more items
|
|
*-save last opened folder to settings somewhere
|
|
|
|
---Features---
|
|
*-save report to disk
|
|
*-separate save button to come back to things later
|
|
*-add resort by date option
|
|
*-when scanning files don't add kinds we cannot read/use
|
|
*-Fix buttons not enabling/disabling appropritely
|
|
*-if files not found show user error
|
|
*-add preview or open button or something to each item
|
|
https://gitflic.ru/project/jackhammer/pdf-forge-net/file?commit=7bdce6132a70ab12664a8f2482003836c7af2ab6
|
|
|
|
*-check if last remembered dir exists on auto-load!
|
|
*-show working directory
|
|
*-set DMG title in publish
|
|
*-Get linux publish command working and zip up/publish
|
|
dotnet publish -c Release -r linux-x64 -p:StripSymbols=False -p:PublishAot=False
|
|
dotnet publish -c Release -r linux-arm64 -p:StripSymbols=False -p:PublishAot=False
|
|
|
|
---Publishing---
|
|
*-Published app has unneeded .DSYM file (fixed via .app builder)
|
|
*-Published app has Assets folder already copied to it; don't want that in output macOS folder but it's being copied there anyway (fixed via .app builder)
|
|
*-macOS x64 build |